@univerjs/engine-render 0.1.7 → 0.1.9
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/cjs/index.js +2 -2
- package/lib/es/index.js +18777 -9678
- package/lib/types/basics/const.d.ts +0 -1
- package/lib/types/basics/i-document-skeleton-cached.d.ts +2 -0
- package/lib/types/basics/index.d.ts +1 -1
- package/lib/types/basics/interfaces.d.ts +1 -8
- package/lib/types/basics/tools.d.ts +2 -6
- package/lib/types/components/docs/layout/block/paragraph/shaping.d.ts +1 -1
- package/lib/types/components/docs/layout/model/glyph.d.ts +3 -2
- package/lib/types/components/docs/layout/shaping-engine/__tests__/text-shaping.spec.d.ts +16 -0
- package/lib/types/{basics → components/docs/layout/shaping-engine}/font-cache.d.ts +22 -2
- package/lib/types/components/docs/layout/shaping-engine/font-library.d.ts +46 -0
- package/lib/types/components/docs/layout/shaping-engine/text-shaping.d.ts +21 -0
- package/lib/types/components/docs/layout/shaping-engine/utils.d.ts +9 -0
- package/lib/types/components/docs/layout/tools.d.ts +2 -6
- package/lib/types/components/sheets/sheet-skeleton.d.ts +12 -3
- package/lib/types/index.d.ts +2 -1
- package/lib/types/render-engine.d.ts +2 -2
- package/lib/types/{render-manager.service.d.ts → render-manager/render-manager.service.d.ts} +22 -23
- package/lib/types/render-manager/render-unit.d.ts +50 -0
- package/lib/types/viewport.d.ts +1 -1
- package/lib/umd/index.js +2 -2
- package/package.json +10 -9
- /package/lib/types/components/docs/layout/model/{__test__ → __tests__}/glyph.spec.d.ts +0 -0
package/lib/umd/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(S,D){typeof exports=="object"&&typeof module<"u"?D(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs"],D):(S=typeof globalThis<"u"?globalThis:S||self,D(S.UniverEngineRender={},S.UniverCore,S["@wendellhu/redi"],S.rxjs))})(this,function(S,D,g1,Z){"use strict";var K8=Object.defineProperty;var J8=(S,D,g1)=>D in S?K8(S,D,{enumerable:!0,configurable:!0,writable:!0,value:g1}):S[D]=g1;var h=(S,D,g1)=>(J8(S,typeof D!="symbol"?D+"":D,g1),g1);var u7;var i6=(r=>(r.RECT="rect",r.CIRCLE="circle",r.PATH="path",r))(i6||{}),S1=(r=>(r.PointerMove="PointerMove",r.PointerDown="PointerDown",r.PointerUp="PointerUp",r.PointerOut="PointerOut",r.PointerLeave="PointerLeave",r.PointerOver="PointerOver",r.PointerEnter="PointerEnter",r.wheel="MouseWheel",r.KeyDown="KeyDown",r.KeyUp="KeyUp",r))(S1||{}),D7=(r=>(r[r.XY=0]="XY",r[r.X=1]="X",r[r.Y=2]="Y",r))(D7||{});const r6=1,P2='"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',d7={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},Bt={...d7,marginTop:20},Ot={...d7,marginBottom:20},f7="0",o6=1,g7=14;var n1=(r=>(r.DEFAULT="default",r.AUTO="auto",r.CROSSHAIR="crosshair",r.POINTER="pointer",r.MOVE="move",r.EAST_RESIZE="e-resize",r.NORTH_EAST_RESIZE="ne-resize",r.NORTH_WEST_RESIZE="nw-resize",r.NORTH_RESIZE="n-resize",r.SOUTH_EAST_RESIZE="se-resize",r.SOUTH_WEST_RESIZE="sw-resize",r.SOUTH_RESIZE="s-resize",r.WEST_RESIZE="w-resize",r.TEXT="text",r.WAIT="wait",r.HELP="help",r.CELL="cell",r.NONE="none",r.VERTICAL_TEXT="vertical-text",r.NO_DROP="no-drop",r.GRAB="grab",r.GRABBING="grabbing",r.ALL_SCROLL="all-scroll",r.COLUMN_RESIZE="col-resize",r.ROW_RESIZE="row-resize",r.PROGRESS="progress",r.NOT_ALLOWED="not-allowed",r.ZOOM_IN="zoom-in",r.ZOOM_OUT="zoom-out",r))(n1||{}),m7=(r=>(r[r.noClip=0]="noClip",r[r.DOC_SIZE=1]="DOC_SIZE",r[r.CONTENT_SIZE_LEFT=2]="CONTENT_SIZE_LEFT",r[r.CONTENT_SIZE_CENTER=3]="CONTENT_SIZE_CENTER",r[r.CONTENT_SIZE_Right=4]="CONTENT_SIZE_Right",r))(m7||{});const P1="rgb(0,0,0)";var z=(r=>(r.TOP="t",r.BOTTOM="b",r.LEFT="l",r.RIGHT="r",r.TL_BR="tl_br",r.TL_BC="tl_bc",r.TL_MR="tl_mr",r.BL_TR="bl_tr",r.ML_TR="ml_tr",r.BC_TR="bc_tr",r))(z||{}),h2=(r=>(r[r.UP=0]="UP",r[r.DOWN=1]="DOWN",r))(h2||{}),H=(r=>(r.ENGINE="Engine",r.SCENE="Scene",r.BASE_OBJECT="BaseObject",r.SCENE_VIEWER="SceneViewer",r.CANVAS="Canvas",r.VIEWPORT="Viewport",r.LAYER="Layer",r.GROUP="Group",r))(H||{});const wt=1e3,p7=2e3,o1=.5;var t1=(r=>(r[r.translate=0]="translate",r[r.resize=1]="resize",r[r.scale=2]="scale",r[r.skew=3]="skew",r[r.flip=4]="flip",r[r.all=5]="all",r))(t1||{});class At{isEmpty(){return this._isEmpty()}toString(n){if(this.isEmpty())throw new Error("Output is empty.");return this._toString(n)}toRegExp(n){return new RegExp(this.toString(n),n)}}class T1 extends At{constructor(...n){super(),this.data=[];for(const t of n)t instanceof T1?this.data.push(...t.data):this.data.push(It(t));this._unique()}union(...n){return new T1(this,...n)}subtract(...n){const t=this.data.slice(),e=[];let s=0;const{data:i}=new T1(...n);for(;t.length!==0;){const o=t.shift(),[a,l]=o;let u;do{u=!0;const c=i[s];if(c===void 0){e.push(o);break}const[_,f]=c;f<a?(u=!1,s++):l<_?e.push(o):_<=a&&f<l?(s++,t.unshift([f+1,l])):a<_&&f<l?(s++,e.push([a,_-1]),t.unshift([f+1,l])):a<_&&l<=f&&e.push([a,_-1])}while(!u)}return new T1(...e)}intersect(...n){return this.subtract(this.subtract(...n))}_isEmpty(){return this.data.length===0}_toString(n){return Mt(this.data,n)}_unique(){this.data.sort(Pt);const n=[];let t=null;for(const e of this.data)t===null||t[1]+1<e[0]?(n.push(e),t=e):(n.splice(-1,1,[Math.min(e[0],t[0]),Math.max(e[1],t[1])]),t=n[n.length-1]);this.data=n}}const M2=(...r)=>new T1(...r);function Rt(r){if(r.length!==1){const n=`${r.length} (${JSON.stringify(r)})`;throw new Error(`Expected length = 1, but received ${n}.`)}return r.charCodeAt(0)}function It(r){if(typeof r=="number"&&(r<0||r>1114111))throw new Error(`Invalid unicode code point detected: ${r<0?r:`0x${r.toString(16)}`}`);const[n]=[r].map(t=>typeof t!="object"?[t,t]:t).map(t=>t.map(e=>typeof e=="string"?Rt(e):e));return n}function Pt(r,n){return r[0]-n[0]}function Mt(r,n=""){if(n.includes("u"))return F7(r,!0);const{normal:t,surrogate:e}=xt(r),s=[];return t.length!==0&&s.push(F7(t,!1)),s.push(...Lt(e)),s.join("|")}function F7(r,n){return`[${r.map(([e,s])=>e===s?_2(e,n):`${_2(e,n)}-${_2(s,n)}`).join("")}]`}function Lt(r){const n=[];if(r.entire.data.length!==0){const t=r.entire.toString(),e=`[${[56320,57343].map(s=>_2(s,!1)).join("-")}]`;n.push(`${t}${e}`)}for(const{h:t,l:e}of r.partial){const s=_2(t,!1),i=e.toString();n.push(`${s}${i}`)}return n}function xt(r){const n=[],t=[];for(let e=0;e<r.length;e++){const s=r[e],[i,o]=s;if(i>=65536){t.push(...r.slice(e));break}if(o>=65536){n.push([i,65535]),t.push([65536,o],...r.slice(e+1));break}n.push(s)}return{normal:n,surrogate:Nt(t)}}function Nt(r){const n=[],t=[];for(const[i,o]of r){const a=C7(i),l=C7(o);if(a.h===l.h){s(a.h,a.l,l.l);continue}a.l===56320?e(a.h):s(a.h,a.l,57343);for(let u=a.h+1;u<l.h;u++)e(u);l.l===57343?e(l.h):s(l.h,56320,l.l)}return{entire:new T1(...n),partial:t.map(({h:i,l:o})=>({h:i,l:new T1(...o)}))};function e(i){n.push(i)}function s(i,o,a){const l=t[t.length-1];l!==void 0&&l.h===i?l.l.push([o,a]):t.push({h:i,l:[[o,a]]})}}function C7(r){return{h:Math.floor((r-65536)/1024)+55296,l:(r-65536)%1024+56320}}function _2(r,n){const t=r.toString(16);return n?`\\u{${t}}`:`\\u${"0".repeat(4-t.length)}${t}`}const kt=Object.freeze(Object.defineProperty({__proto__:null,Bidi_Class:Object.freeze(Object.defineProperty({__proto__:null,Arabic_Letter:[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]],Arabic_Number:[[1536,1541],[1632,1641],[1643,1644],1757,[2192,2193],2274,[68912,68921],[69216,69246]],Boundary_Neutral:[[0,8],[14,27],[127,132],[134,159],173,6158,[8203,8205],[8288,8292],[8298,8303],65279,[113824,113827],[119155,119162],917505,[917536,917631]],Common_Separator:[44,[46,47],58,160,1548,8239,8260,65104,65106,65109,65292,[65294,65295],65306],European_Number:[[48,57],[178,179],185,[1776,1785],8304,[8308,8313],[8320,8329],[9352,9371],[65296,65305],[66273,66299],[120782,120831],[127232,127242],[130032,130041]],European_Separator:[43,45,[8314,8315],[8330,8331],8722,64297,[65122,65123],65291,65293],European_Terminator:[[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],First_Strong_Isolate:[8296],Left_To_Right:[[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]],Left_To_Right_Embedding:[8234],Left_To_Right_Isolate:[8294],Left_To_Right_Override:[8237],Nonspacing_Mark:[[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]],Other_Neutral:[[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]],Paragraph_Separator:[10,13,[28,30],133,8233],Pop_Directional_Format:[8236],Pop_Directional_Isolate:[8297],Right_To_Left:[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]],Right_To_Left_Embedding:[8235],Right_To_Left_Isolate:[8295],Right_To_Left_Override:[8238],Segment_Separator:[9,11,31],White_Space:[12,32,5760,[8192,8202],8232,8287,12288]},Symbol.toStringTag,{value:"Module"})),Bidi_Mirroring_Glyph:Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Bidi_Paired_Bracket_Type:Object.freeze(Object.defineProperty({__proto__:null,Close:[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],None:[[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]],Open:[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]},Symbol.toStringTag,{value:"Module"})),Binary_Property:Object.freeze(Object.defineProperty({__proto__:null,ASCII:[[0,127]],ASCII_Hex_Digit:[[48,57],[65,70],[97,102]],Alphabetic:[[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]],Any:[[0,1114111]],Assigned:[[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]],Bidi_Control:[1564,[8206,8207],[8234,8238],[8294,8297]],Bidi_Mirrored:[[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],Case_Ignorable:[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]],Cased:[[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]],Changes_When_Casefolded:[[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]],Changes_When_Casemapped:[[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]],Changes_When_Lowercased:[[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]],Changes_When_NFKC_Casefolded:[[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]],Changes_When_Titlecased:[[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]],Changes_When_Uppercased:[[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]],Composition_Exclusion:[[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]],Dash:[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],Default_Ignorable_Code_Point:[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]],Deprecated:[329,1651,3959,3961,[6051,6052],[8298,8303],[9001,9002],917505],Diacritic:[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]],Emoji:[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]],Emoji_Component:[35,42,[48,57],8205,8419,65039,[127462,127487],[127995,127999],[129456,129459],[917536,917631]],Emoji_Modifier:[[127995,127999]],Emoji_Modifier_Base:[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]],Emoji_Presentation:[[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]],Expands_On_NFC:[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]],Expands_On_NFD:[[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]],Expands_On_NFKC:[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]],Expands_On_NFKD:[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]],Extended_Pictographic:[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]],Extender:[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]],Full_Composition_Exclusion:[[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]],Grapheme_Base:[[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]],Grapheme_Extend:[[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]],Grapheme_Link:[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]],Hex_Digit:[[48,57],[65,70],[97,102],[65296,65305],[65313,65318],[65345,65350]],Hyphen:[45,173,1418,6150,[8208,8209],11799,12539,65123,65293,65381],IDS_Binary_Operator:[[12272,12273],[12276,12283]],IDS_Trinary_Operator:[[12274,12275]],ID_Continue:[[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]],ID_Start:[[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]],Ideographic:[[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]],Join_Control:[[8204,8205]],Logical_Order_Exception:[[3648,3652],[3776,3780],[6581,6583],6586,[43701,43702],43705,[43707,43708]],Lowercase:[[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]],Math:[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]],Noncharacter_Code_Point:[[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]],Other_Alphabetic:[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]],Other_Default_Ignorable_Code_Point:[847,[4447,4448],[6068,6069],8293,12644,65440,[65520,65528],917504,[917506,917535],[917632,917759],[918e3,921599]],Other_Grapheme_Extend:[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]],Other_ID_Continue:[183,903,[4969,4977],6618],Other_ID_Start:[[6277,6278],8472,8494,[12443,12444]],Other_Lowercase:[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]],Other_Math:[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]],Other_Uppercase:[[8544,8559],[9398,9423],[127280,127305],[127312,127337],[127344,127369]],Pattern_Syntax:[[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]],Pattern_White_Space:[[9,13],32,133,[8206,8207],[8232,8233]],Prepended_Concatenation_Mark:[[1536,1541],1757,1807,[2192,2193],2274,69821,69837],Quotation_Mark:[34,39,171,187,[8216,8223],[8249,8250],11842,[12300,12303],[12317,12319],[65089,65092],65282,65287,[65378,65379]],Radical:[[11904,11929],[11931,12019],[12032,12245]],Regional_Indicator:[[127462,127487]],Sentence_Terminal:[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],Soft_Dotted:[[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],Terminal_Punctuation:[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]],Unified_Ideograph:[[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]],Uppercase:[[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]],Variation_Selector:[[6155,6157],6159,[65024,65039],[917760,917999]],White_Space:[[9,13],32,133,160,5760,[8192,8202],[8232,8233],8239,8287,12288],XID_Continue:[[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]],XID_Start:[[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]]},Symbol.toStringTag,{value:"Module"})),Block:Object.freeze(Object.defineProperty({__proto__:null,Adlam:[[125184,125279]],Aegean_Numbers:[[65792,65855]],Ahom:[[71424,71503]],Alchemical_Symbols:[[128768,128895]],Alphabetic_Presentation_Forms:[[64256,64335]],Anatolian_Hieroglyphs:[[82944,83583]],Ancient_Greek_Musical_Notation:[[119296,119375]],Ancient_Greek_Numbers:[[65856,65935]],Ancient_Symbols:[[65936,65999]],Arabic:[[1536,1791]],Arabic_Extended_A:[[2208,2303]],Arabic_Mathematical_Alphabetic_Symbols:[[126464,126719]],Arabic_Presentation_Forms_A:[[64336,65023]],Arabic_Presentation_Forms_B:[[65136,65279]],Arabic_Supplement:[[1872,1919]],Armenian:[[1328,1423]],Arrows:[[8592,8703]],Avestan:[[68352,68415]],Balinese:[[6912,7039]],Bamum:[[42656,42751]],Bamum_Supplement:[[92160,92735]],Basic_Latin:[[0,127]],Bassa_Vah:[[92880,92927]],Batak:[[7104,7167]],Bengali:[[2432,2559]],Bhaiksuki:[[72704,72815]],Block_Elements:[[9600,9631]],Bopomofo:[[12544,12591]],Bopomofo_Extended:[[12704,12735]],Box_Drawing:[[9472,9599]],Brahmi:[[69632,69759]],Braille_Patterns:[[10240,10495]],Buginese:[[6656,6687]],Buhid:[[5952,5983]],Byzantine_Musical_Symbols:[[118784,119039]],CJK_Compatibility:[[13056,13311]],CJK_Compatibility_Forms:[[65072,65103]],CJK_Compatibility_Ideographs:[[63744,64255]],CJK_Compatibility_Ideographs_Supplement:[[194560,195103]],CJK_Radicals_Supplement:[[11904,12031]],CJK_Strokes:[[12736,12783]],CJK_Symbols_And_Punctuation:[[12288,12351]],CJK_Unified_Ideographs:[[19968,40959]],CJK_Unified_Ideographs_Extension_A:[[13312,19903]],CJK_Unified_Ideographs_Extension_B:[[131072,173791]],CJK_Unified_Ideographs_Extension_C:[[173824,177983]],CJK_Unified_Ideographs_Extension_D:[[177984,178207]],CJK_Unified_Ideographs_Extension_E:[[178208,183983]],CJK_Unified_Ideographs_Extension_F:[[183984,191471]],Carian:[[66208,66271]],Caucasian_Albanian:[[66864,66927]],Chakma:[[69888,69967]],Cham:[[43520,43615]],Cherokee:[[5024,5119]],Cherokee_Supplement:[[43888,43967]],Chess_Symbols:[[129536,129647]],Combining_Diacritical_Marks:[[768,879]],Combining_Diacritical_Marks_Extended:[[6832,6911]],Combining_Diacritical_Marks_For_Symbols:[[8400,8447]],Combining_Diacritical_Marks_Supplement:[[7616,7679]],Combining_Half_Marks:[[65056,65071]],Common_Indic_Number_Forms:[[43056,43071]],Control_Pictures:[[9216,9279]],Coptic:[[11392,11519]],Coptic_Epact_Numbers:[[66272,66303]],Counting_Rod_Numerals:[[119648,119679]],Cuneiform:[[73728,74751]],Cuneiform_Numbers_And_Punctuation:[[74752,74879]],Currency_Symbols:[[8352,8399]],Cypriot_Syllabary:[[67584,67647]],Cyrillic:[[1024,1279]],Cyrillic_Extended_A:[[11744,11775]],Cyrillic_Extended_B:[[42560,42655]],Cyrillic_Extended_C:[[7296,7311]],Cyrillic_Supplement:[[1280,1327]],Deseret:[[66560,66639]],Devanagari:[[2304,2431]],Devanagari_Extended:[[43232,43263]],Dingbats:[[9984,10175]],Dogra:[[71680,71759]],Domino_Tiles:[[127024,127135]],Duployan:[[113664,113823]],Early_Dynastic_Cuneiform:[[74880,75087]],Egyptian_Hieroglyphs:[[77824,78895]],Elbasan:[[66816,66863]],Emoticons:[[128512,128591]],Enclosed_Alphanumeric_Supplement:[[127232,127487]],Enclosed_Alphanumerics:[[9312,9471]],Enclosed_CJK_Letters_And_Months:[[12800,13055]],Enclosed_Ideographic_Supplement:[[127488,127743]],Ethiopic:[[4608,4991]],Ethiopic_Extended:[[11648,11743]],Ethiopic_Extended_A:[[43776,43823]],Ethiopic_Supplement:[[4992,5023]],General_Punctuation:[[8192,8303]],Geometric_Shapes:[[9632,9727]],Geometric_Shapes_Extended:[[128896,129023]],Georgian:[[4256,4351]],Georgian_Extended:[[7312,7359]],Georgian_Supplement:[[11520,11567]],Glagolitic:[[11264,11359]],Glagolitic_Supplement:[[122880,122927]],Gothic:[[66352,66383]],Grantha:[[70400,70527]],Greek_And_Coptic:[[880,1023]],Greek_Extended:[[7936,8191]],Gujarati:[[2688,2815]],Gunjala_Gondi:[[73056,73135]],Gurmukhi:[[2560,2687]],Halfwidth_And_Fullwidth_Forms:[[65280,65519]],Hangul_Compatibility_Jamo:[[12592,12687]],Hangul_Jamo:[[4352,4607]],Hangul_Jamo_Extended_A:[[43360,43391]],Hangul_Jamo_Extended_B:[[55216,55295]],Hangul_Syllables:[[44032,55215]],Hanifi_Rohingya:[[68864,68927]],Hanunoo:[[5920,5951]],Hatran:[[67808,67839]],Hebrew:[[1424,1535]],High_Private_Use_Surrogates:[[56192,56319]],High_Surrogates:[[55296,56191]],Hiragana:[[12352,12447]],IPA_Extensions:[[592,687]],Ideographic_Description_Characters:[[12272,12287]],Ideographic_Symbols_And_Punctuation:[[94176,94207]],Imperial_Aramaic:[[67648,67679]],Indic_Siyaq_Numbers:[[126064,126143]],Inscriptional_Pahlavi:[[68448,68479]],Inscriptional_Parthian:[[68416,68447]],Javanese:[[43392,43487]],Kaithi:[[69760,69839]],Kana_Extended_A:[[110848,110895]],Kana_Supplement:[[110592,110847]],Kanbun:[[12688,12703]],Kangxi_Radicals:[[12032,12255]],Kannada:[[3200,3327]],Katakana:[[12448,12543]],Katakana_Phonetic_Extensions:[[12784,12799]],Kayah_Li:[[43264,43311]],Kharoshthi:[[68096,68191]],Khmer:[[6016,6143]],Khmer_Symbols:[[6624,6655]],Khojki:[[70144,70223]],Khudawadi:[[70320,70399]],Lao:[[3712,3839]],Latin_1_Supplement:[[128,255]],Latin_Extended_A:[[256,383]],Latin_Extended_Additional:[[7680,7935]],Latin_Extended_B:[[384,591]],Latin_Extended_C:[[11360,11391]],Latin_Extended_D:[[42784,43007]],Latin_Extended_E:[[43824,43887]],Lepcha:[[7168,7247]],Letterlike_Symbols:[[8448,8527]],Limbu:[[6400,6479]],Linear_A:[[67072,67455]],Linear_B_Ideograms:[[65664,65791]],Linear_B_Syllabary:[[65536,65663]],Lisu:[[42192,42239]],Low_Surrogates:[[56320,57343]],Lycian:[[66176,66207]],Lydian:[[67872,67903]],Mahajani:[[69968,70015]],Mahjong_Tiles:[[126976,127023]],Makasar:[[73440,73471]],Malayalam:[[3328,3455]],Mandaic:[[2112,2143]],Manichaean:[[68288,68351]],Marchen:[[72816,72895]],Masaram_Gondi:[[72960,73055]],Mathematical_Alphanumeric_Symbols:[[119808,120831]],Mathematical_Operators:[[8704,8959]],Mayan_Numerals:[[119520,119551]],Medefaidrin:[[93760,93855]],Meetei_Mayek:[[43968,44031]],Meetei_Mayek_Extensions:[[43744,43775]],Mende_Kikakui:[[124928,125151]],Meroitic_Cursive:[[68e3,68095]],Meroitic_Hieroglyphs:[[67968,67999]],Miao:[[93952,94111]],Miscellaneous_Mathematical_Symbols_A:[[10176,10223]],Miscellaneous_Mathematical_Symbols_B:[[10624,10751]],Miscellaneous_Symbols:[[9728,9983]],Miscellaneous_Symbols_And_Arrows:[[11008,11263]],Miscellaneous_Symbols_And_Pictographs:[[127744,128511]],Miscellaneous_Technical:[[8960,9215]],Modi:[[71168,71263]],Modifier_Tone_Letters:[[42752,42783]],Mongolian:[[6144,6319]],Mongolian_Supplement:[[71264,71295]],Mro:[[92736,92783]],Multani:[[70272,70319]],Musical_Symbols:[[119040,119295]],Myanmar:[[4096,4255]],Myanmar_Extended_A:[[43616,43647]],Myanmar_Extended_B:[[43488,43519]],NKo:[[1984,2047]],Nabataean:[[67712,67759]],New_Tai_Lue:[[6528,6623]],Newa:[[70656,70783]],Number_Forms:[[8528,8591]],Nushu:[[110960,111359]],Ogham:[[5760,5791]],Ol_Chiki:[[7248,7295]],Old_Hungarian:[[68736,68863]],Old_Italic:[[66304,66351]],Old_North_Arabian:[[68224,68255]],Old_Permic:[[66384,66431]],Old_Persian:[[66464,66527]],Old_Sogdian:[[69376,69423]],Old_South_Arabian:[[68192,68223]],Old_Turkic:[[68608,68687]],Optical_Character_Recognition:[[9280,9311]],Oriya:[[2816,2943]],Ornamental_Dingbats:[[128592,128639]],Osage:[[66736,66815]],Osmanya:[[66688,66735]],Pahawh_Hmong:[[92928,93071]],Palmyrene:[[67680,67711]],Pau_Cin_Hau:[[72384,72447]],Phags_Pa:[[43072,43135]],Phaistos_Disc:[[66e3,66047]],Phoenician:[[67840,67871]],Phonetic_Extensions:[[7424,7551]],Phonetic_Extensions_Supplement:[[7552,7615]],Playing_Cards:[[127136,127231]],Private_Use_Area:[[57344,63743]],Psalter_Pahlavi:[[68480,68527]],Rejang:[[43312,43359]],Rumi_Numeral_Symbols:[[69216,69247]],Runic:[[5792,5887]],Samaritan:[[2048,2111]],Saurashtra:[[43136,43231]],Sharada:[[70016,70111]],Shavian:[[66640,66687]],Shorthand_Format_Controls:[[113824,113839]],Siddham:[[71040,71167]],Sinhala:[[3456,3583]],Sinhala_Archaic_Numbers:[[70112,70143]],Small_Form_Variants:[[65104,65135]],Sogdian:[[69424,69487]],Sora_Sompeng:[[69840,69887]],Soyombo:[[72272,72367]],Spacing_Modifier_Letters:[[688,767]],Specials:[[65520,65535]],Sundanese:[[7040,7103]],Sundanese_Supplement:[[7360,7375]],Superscripts_And_Subscripts:[[8304,8351]],Supplemental_Arrows_A:[[10224,10239]],Supplemental_Arrows_B:[[10496,10623]],Supplemental_Arrows_C:[[129024,129279]],Supplemental_Mathematical_Operators:[[10752,11007]],Supplemental_Punctuation:[[11776,11903]],Supplemental_Symbols_And_Pictographs:[[129280,129535]],Supplementary_Private_Use_Area_A:[[983040,1048575]],Supplementary_Private_Use_Area_B:[[1048576,1114111]],Sutton_SignWriting:[[120832,121519]],Syloti_Nagri:[[43008,43055]],Syriac:[[1792,1871]],Syriac_Supplement:[[2144,2159]],Tagalog:[[5888,5919]],Tagbanwa:[[5984,6015]],Tags:[[917504,917631]],Tai_Le:[[6480,6527]],Tai_Tham:[[6688,6831]],Tai_Viet:[[43648,43743]],Tai_Xuan_Jing_Symbols:[[119552,119647]],Takri:[[71296,71375]],Tamil:[[2944,3071]],Tangut:[[94208,100351]],Tangut_Components:[[100352,101119]],Telugu:[[3072,3199]],Thaana:[[1920,1983]],Thai:[[3584,3711]],Tibetan:[[3840,4095]],Tifinagh:[[11568,11647]],Tirhuta:[[70784,70879]],Transport_And_Map_Symbols:[[128640,128767]],Ugaritic:[[66432,66463]],Unified_Canadian_Aboriginal_Syllabics:[[5120,5759]],Unified_Canadian_Aboriginal_Syllabics_Extended:[[6320,6399]],Vai:[[42240,42559]],Variation_Selectors:[[65024,65039]],Variation_Selectors_Supplement:[[917760,917999]],Vedic_Extensions:[[7376,7423]],Vertical_Forms:[[65040,65055]],Warang_Citi:[[71840,71935]],Yi_Radicals:[[42128,42191]],Yi_Syllables:[[40960,42127]],Yijing_Hexagram_Symbols:[[19904,19967]],Zanabazar_Square:[[72192,72271]],undefined:[[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]]},Symbol.toStringTag,{value:"Module"})),Case_Folding:Object.freeze(Object.defineProperty({__proto__:null,C:[],F:[],S:[],T:[]},Symbol.toStringTag,{value:"Module"})),General_Category:Object.freeze(Object.defineProperty({__proto__:null,Cased_Letter:[[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]],Close_Punctuation:[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],Connector_Punctuation:[95,[8255,8256],8276,[65075,65076],[65101,65103],65343],Control:[[0,31],[127,159]],Currency_Symbol:[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],Dash_Punctuation:[45,1418,1470,5120,6150,[8208,8213],11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],Decimal_Number:[[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]],Enclosing_Mark:[[1160,1161],6846,[8413,8416],[8418,8420],[42608,42610]],Final_Punctuation:[187,8217,8221,8250,11779,11781,11786,11789,11805,11809],Format:[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]],Initial_Punctuation:[171,8216,[8219,8220],8223,8249,11778,11780,11785,11788,11804,11808],Letter:[[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]],Letter_Number:[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]],Line_Separator:[8232],Lowercase_Letter:[[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]],Mark:[[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]],Math_Symbol:[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]],Modifier_Letter:[[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],Modifier_Symbol:[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]],Nonspacing_Mark:[[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]],Number:[[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]],Open_Punctuation:[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],Other:[[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]],Other_Letter:[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]],Other_Number:[[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]],Other_Punctuation:[[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]],Other_Symbol:[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]],Paragraph_Separator:[8233],Private_Use:[[57344,63743],[983040,1048573],[1048576,1114109]],Punctuation:[[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]],Separator:[32,160,5760,[8192,8202],[8232,8233],8239,8287,12288],Space_Separator:[32,160,5760,[8192,8202],8239,8287,12288],Spacing_Mark:[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]],Surrogate:[[55296,57343]],Symbol:[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]],Titlecase_Letter:[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],Unassigned:[[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]],Uppercase_Letter:[[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]]},Symbol.toStringTag,{value:"Module"})),Line_Break:Object.freeze(Object.defineProperty({__proto__:null,Alphabetic:[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]],Ambiguous:[[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]],Break_After:[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]],Break_Before:[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],Break_Both:[8212,[11834,11835]],Break_Symbols:[47],Carriage_Return:[13],Close_Parenthesis:[41,93],Close_Punctuation:[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],Combining_Mark:[[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]],Complex_Context:[[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]],Conditional_Japanese_Starter:[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]],Contingent_Break:[65532],E_Base:[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]],E_Modifier:[[127995,127999]],Exclamation:[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],Glue:[160,847,[860,866],3848,3852,3858,[4057,4058],6158,7629,7676,8199,8209,8239,[78896,78902],[78905,78907],94180],H2:[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],H3:[[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]],Hebrew_Letter:[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Hyphen:[45],Ideographic:[[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]],Infix_Numeric:[44,46,[58,59],894,1417,[1548,1549],2040,8260,65040,[65043,65044]],Inseparable:[[8228,8230],8943,65049,68342],JL:[[4352,4447],[43360,43388]],JT:[[4520,4607],[55243,55291]],JV:[[4448,4519],[55216,55238]],Line_Feed:[10],Mandatory_Break:[[11,12],[8232,8233]],Next_Line:[133],Nonstarter:[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]],Numeric:[[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]],Open_Punctuation:[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]],Postfix_Numeric:[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],Prefix_Numeric:[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],Quotation:[34,39,171,187,[8216,8217],[8219,8221],8223,[8249,8250],[10075,10080],[11776,11789],[11804,11805],[11808,11809],[128630,128632]],Regional_Indicator:[[127462,127487]],Space:[32],Surrogate:[[55296,57343]],Unknown:[[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]],Word_Joiner:[8288,65279],ZWJ:[8205],ZWSpace:[8203]},Symbol.toStringTag,{value:"Module"})),Script:Object.freeze(Object.defineProperty({__proto__:null,Adlam:[[125184,125259],[125264,125273],[125278,125279]],Ahom:[[71424,71450],[71453,71467],[71472,71494]],Anatolian_Hieroglyphs:[[82944,83526]],Arabic:[[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]],Armenian:[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],Avestan:[[68352,68405],[68409,68415]],Balinese:[[6912,6988],[6992,7038]],Bamum:[[42656,42743],[92160,92728]],Bassa_Vah:[[92880,92909],[92912,92917]],Batak:[[7104,7155],[7164,7167]],Bengali:[[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]],Bhaiksuki:[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],Bopomofo:[[746,747],[12549,12591],[12704,12735]],Brahmi:[[69632,69709],[69714,69749],69759],Braille:[[10240,10495]],Buginese:[[6656,6683],[6686,6687]],Buhid:[[5952,5971]],Canadian_Aboriginal:[[5120,5759],[6320,6389],[72368,72383]],Carian:[[66208,66256]],Caucasian_Albanian:[[66864,66915],66927],Chakma:[[69888,69940],[69942,69959]],Cham:[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],Cherokee:[[5024,5109],[5112,5117],[43888,43967]],Chorasmian:[[69552,69579]],Common:[[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]],Coptic:[[994,1007],[11392,11507],[11513,11519]],Cuneiform:[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],Cypriot:[[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],Cypro_Minoan:[[77712,77810]],Cyrillic:[[1024,1156],[1159,1327],[7296,7304],7467,7544,[11744,11775],[42560,42655],[65070,65071],[122928,122989],123023],Deseret:[[66560,66639]],Devanagari:[[2304,2384],[2389,2403],[2406,2431],[43232,43263],[72448,72457]],Dives_Akuru:[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],Dogra:[[71680,71739]],Duployan:[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113823]],Egyptian_Hieroglyphs:[[77824,78933]],Elbasan:[[66816,66855]],Elymaic:[[69600,69622]],Ethiopic:[[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]],Georgian:[[4256,4293],4295,4301,[4304,4346],[4348,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],Glagolitic:[[11264,11359],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],Gothic:[[66352,66378]],Grantha:[[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]],Greek:[[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]],Gujarati:[[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]],Gunjala_Gondi:[[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],Gurmukhi:[[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]],Han:[[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]],Hangul:[[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]],Hanifi_Rohingya:[[68864,68903],[68912,68921]],Hanunoo:[[5920,5940]],Hatran:[[67808,67826],[67828,67829],[67835,67839]],Hebrew:[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Hiragana:[[12353,12438],[12445,12447],[110593,110879],110898,[110928,110930],127488],Imperial_Aramaic:[[67648,67669],[67671,67679]],Inherited:[[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]],Inscriptional_Pahlavi:[[68448,68466],[68472,68479]],Inscriptional_Parthian:[[68416,68437],[68440,68447]],Javanese:[[43392,43469],[43472,43481],[43486,43487]],Kaithi:[[69760,69826],69837],Kannada:[[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]],Katakana:[[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]],Kawi:[[73472,73488],[73490,73530],[73534,73561]],Kayah_Li:[[43264,43309],43311],Kharoshthi:[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],Khitan_Small_Script:[94180,[101120,101589]],Khmer:[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],Khojki:[[70144,70161],[70163,70209]],Khudawadi:[[70320,70378],[70384,70393]],Lao:[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],Latin:[[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]],Lepcha:[[7168,7223],[7227,7241],[7245,7247]],Limbu:[[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],Linear_A:[[67072,67382],[67392,67413],[67424,67431]],Linear_B:[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786]],Lisu:[[42192,42239],73648],Lycian:[[66176,66204]],Lydian:[[67872,67897],67903],Mahajani:[[69968,70006]],Makasar:[[73440,73464]],Malayalam:[[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455]],Mandaic:[[2112,2139],2142],Manichaean:[[68288,68326],[68331,68342]],Marchen:[[72816,72847],[72850,72871],[72873,72886]],Masaram_Gondi:[[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],Medefaidrin:[[93760,93850]],Meetei_Mayek:[[43744,43766],[43968,44013],[44016,44025]],Mende_Kikakui:[[124928,125124],[125127,125142]],Meroitic_Cursive:[[68e3,68023],[68028,68047],[68050,68095]],Meroitic_Hieroglyphs:[[67968,67999]],Miao:[[93952,94026],[94031,94087],[94095,94111]],Modi:[[71168,71236],[71248,71257]],Mongolian:[[6144,6145],6148,[6150,6169],[6176,6264],[6272,6314],[71264,71276]],Mro:[[92736,92766],[92768,92777],[92782,92783]],Multani:[[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Myanmar:[[4096,4255],[43488,43518],[43616,43647]],Nabataean:[[67712,67742],[67751,67759]],Nag_Mundari:[[124112,124153]],Nandinagari:[[72096,72103],[72106,72151],[72154,72164]],New_Tai_Lue:[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Newa:[[70656,70747],[70749,70753]],Nko:[[1984,2042],[2045,2047]],Nushu:[94177,[110960,111355]],Nyiakeng_Puachue_Hmong:[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],Ogham:[[5760,5788]],Ol_Chiki:[[7248,7295]],Old_Hungarian:[[68736,68786],[68800,68850],[68858,68863]],Old_Italic:[[66304,66339],[66349,66351]],Old_North_Arabian:[[68224,68255]],Old_Permic:[[66384,66426]],Old_Persian:[[66464,66499],[66504,66517]],Old_Sogdian:[[69376,69415]],Old_South_Arabian:[[68192,68223]],Old_Turkic:[[68608,68680]],Old_Uyghur:[[69488,69513]],Oriya:[[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]],Osage:[[66736,66771],[66776,66811]],Osmanya:[[66688,66717],[66720,66729]],Pahawh_Hmong:[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],Palmyrene:[[67680,67711]],Pau_Cin_Hau:[[72384,72440]],Phags_Pa:[[43072,43127]],Phoenician:[[67840,67867],67871],Psalter_Pahlavi:[[68480,68497],[68505,68508],[68521,68527]],Rejang:[[43312,43347],43359],Runic:[[5792,5866],[5870,5880]],Samaritan:[[2048,2093],[2096,2110]],Saurashtra:[[43136,43205],[43214,43225]],Sharada:[[70016,70111]],Shavian:[[66640,66687]],Siddham:[[71040,71093],[71096,71133]],SignWriting:[[120832,121483],[121499,121503],[121505,121519]],Sinhala:[[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],Sogdian:[[69424,69465]],Sora_Sompeng:[[69840,69864],[69872,69881]],Soyombo:[[72272,72354]],Sundanese:[[7040,7103],[7360,7367]],Syloti_Nagri:[[43008,43052]],Syriac:[[1792,1805],[1807,1866],[1869,1871],[2144,2154]],Tagalog:[[5888,5909],5919],Tagbanwa:[[5984,5996],[5998,6e3],[6002,6003]],Tai_Le:[[6480,6509],[6512,6516]],Tai_Tham:[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],Tai_Viet:[[43648,43714],[43739,43743]],Takri:[[71296,71353],[71360,71369]],Tamil:[[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],Tangsa:[[92784,92862],[92864,92873]],Tangut:[94176,[94208,100343],[100352,101119],[101632,101640]],Telugu:[[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]],Thaana:[[1920,1969]],Thai:[[3585,3642],[3648,3675]],Tibetan:[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],Tifinagh:[[11568,11623],[11631,11632],11647],Tirhuta:[[70784,70855],[70864,70873]],Toto:[[123536,123566]],Ugaritic:[[66432,66461],66463],Vai:[[42240,42539]],Vithkuqi:[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],Wancho:[[123584,123641],123647],Warang_Citi:[[71840,71922],71935],Yezidi:[[69248,69289],[69291,69293],[69296,69297]],Yi:[[40960,42124],[42128,42182]],Zanabazar_Square:[[72192,72263]]},Symbol.toStringTag,{value:"Module"})),Script_Extensions:Object.freeze(Object.defineProperty({__proto__:null,Adlam:[1567,1600,[125184,125259],[125264,125273],[125278,125279]],Ahom:[[71424,71450],[71453,71467],[71472,71494]],Anatolian_Hieroglyphs:[[82944,83526]],Arabic:[[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]],Armenian:[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],Avestan:[[68352,68405],[68409,68415]],Balinese:[[6912,6988],[6992,7038]],Bamum:[[42656,42743],[92160,92728]],Bassa_Vah:[[92880,92909],[92912,92917]],Batak:[[7104,7155],[7164,7167]],Bengali:[[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],Bhaiksuki:[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],Bopomofo:[[746,747],[12289,12291],[12296,12305],[12307,12319],[12330,12333],12336,12343,12539,[12549,12591],[12704,12735],[65093,65094],[65377,65381]],Brahmi:[[69632,69709],[69714,69749],69759],Braille:[[10240,10495]],Buginese:[[6656,6683],[6686,6687],43471],Buhid:[[5941,5942],[5952,5971]],Canadian_Aboriginal:[[5120,5759],[6320,6389],[72368,72383]],Carian:[[66208,66256]],Caucasian_Albanian:[[66864,66915],66927],Chakma:[[2534,2543],[4160,4169],[69888,69940],[69942,69959]],Cham:[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],Cherokee:[[5024,5109],[5112,5117],[43888,43967]],Chorasmian:[[69552,69579]],Common:[[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]],Coptic:[[994,1007],[11392,11507],[11513,11519],[66272,66299]],Cuneiform:[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],Cypriot:[[65792,65794],[65799,65843],[65847,65855],[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],Cypro_Minoan:[[65792,65793],[77712,77810]],Cyrillic:[[1024,1327],[7296,7304],7467,7544,7672,[11744,11775],11843,[42560,42655],[65070,65071],[122928,122989],123023],Deseret:[[66560,66639]],Devanagari:[[2304,2386],[2389,2431],[7376,7414],[7416,7417],8432,[43056,43065],[43232,43263],[72448,72457]],Dives_Akuru:[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],Dogra:[[2404,2415],[43056,43065],[71680,71739]],Duployan:[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827]],Egyptian_Hieroglyphs:[[77824,78933]],Elbasan:[[66816,66855]],Elymaic:[[69600,69622]],Ethiopic:[[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]],Georgian:[[4256,4293],4295,4301,[4304,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],Glagolitic:[1156,1159,[11264,11359],11843,42607,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],Gothic:[[66352,66378]],Grantha:[[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],Greek:[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]],Gujarati:[[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]],Gunjala_Gondi:[[2404,2405],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],Gurmukhi:[[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]],Han:[[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]],Hangul:[[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]],Hanifi_Rohingya:[1548,1563,1567,1600,1748,[68864,68903],[68912,68921]],Hanunoo:[[5920,5942]],Hatran:[[67808,67826],[67828,67829],[67835,67839]],Hebrew:[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Hiragana:[[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],Imperial_Aramaic:[[67648,67669],[67671,67679]],Inherited:[[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]],Inscriptional_Pahlavi:[[68448,68466],[68472,68479]],Inscriptional_Parthian:[[68416,68437],[68440,68447]],Javanese:[[43392,43469],[43471,43481],[43486,43487]],Kaithi:[[2406,2415],[43056,43065],[69760,69826],69837],Kannada:[[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]],Katakana:[[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]],Kawi:[[73472,73488],[73490,73530],[73534,73561]],Kayah_Li:[[43264,43311]],Kharoshthi:[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],Khitan_Small_Script:[94180,[101120,101589]],Khmer:[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],Khojki:[[2790,2799],[43056,43065],[70144,70161],[70163,70209]],Khudawadi:[[2404,2405],[43056,43065],[70320,70378],[70384,70393]],Lao:[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],Latin:[[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]],Lepcha:[[7168,7223],[7227,7241],[7245,7247]],Limbu:[2405,[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],Linear_A:[[65799,65843],[67072,67382],[67392,67413],[67424,67431]],Linear_B:[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65855]],Lisu:[[42192,42239],73648],Lycian:[[66176,66204]],Lydian:[[67872,67897],67903],Mahajani:[[2404,2415],[43056,43065],[69968,70006]],Makasar:[[73440,73464]],Malayalam:[[2385,2386],[2404,2405],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],7386,[43056,43058]],Mandaic:[1600,[2112,2139],2142],Manichaean:[1600,[68288,68326],[68331,68342]],Marchen:[[72816,72847],[72850,72871],[72873,72886]],Masaram_Gondi:[[2404,2405],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],Medefaidrin:[[93760,93850]],Meetei_Mayek:[[43744,43766],[43968,44013],[44016,44025]],Mende_Kikakui:[[124928,125124],[125127,125142]],Meroitic_Cursive:[[68e3,68023],[68028,68047],[68050,68095]],Meroitic_Hieroglyphs:[[67968,67999]],Miao:[[93952,94026],[94031,94087],[94095,94111]],Modi:[[43056,43065],[71168,71236],[71248,71257]],Mongolian:[[6144,6169],[6176,6264],[6272,6314],8239,[71264,71276]],Mro:[[92736,92766],[92768,92777],[92782,92783]],Multani:[[2662,2671],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Myanmar:[[4096,4255],43310,[43488,43518],[43616,43647]],Nabataean:[[67712,67742],[67751,67759]],Nag_Mundari:[[124112,124153]],Nandinagari:[[2404,2405],[3302,3311],7401,7410,7418,[43056,43061],[72096,72103],[72106,72151],[72154,72164]],New_Tai_Lue:[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Newa:[[70656,70747],[70749,70753]],Nko:[1548,1563,1567,[1984,2042],[2045,2047],[64830,64831]],Nushu:[94177,[110960,111355]],Nyiakeng_Puachue_Hmong:[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],Ogham:[[5760,5788]],Ol_Chiki:[[7248,7295]],Old_Hungarian:[[68736,68786],[68800,68850],[68858,68863]],Old_Italic:[[66304,66339],[66349,66351]],Old_North_Arabian:[[68224,68255]],Old_Permic:[1155,[66384,66426]],Old_Persian:[[66464,66499],[66504,66517]],Old_Sogdian:[[69376,69415]],Old_South_Arabian:[[68192,68223]],Old_Turkic:[[68608,68680]],Old_Uyghur:[1600,68338,[69488,69513]],Oriya:[[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],Osage:[[66736,66771],[66776,66811]],Osmanya:[[66688,66717],[66720,66729]],Pahawh_Hmong:[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],Palmyrene:[[67680,67711]],Pau_Cin_Hau:[[72384,72440]],Phags_Pa:[[6146,6147],6149,[43072,43127]],Phoenician:[[67840,67867],67871],Psalter_Pahlavi:[1600,[68480,68497],[68505,68508],[68521,68527]],Rejang:[[43312,43347],43359],Runic:[[5792,5866],[5870,5880]],Samaritan:[[2048,2093],[2096,2110]],Saurashtra:[[43136,43205],[43214,43225]],Sharada:[2385,7383,7385,[7388,7389],7392,[70016,70111]],Shavian:[[66640,66687]],Siddham:[[71040,71093],[71096,71133]],SignWriting:[[120832,121483],[121499,121503],[121505,121519]],Sinhala:[[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]],Sogdian:[1600,[69424,69465]],Sora_Sompeng:[[69840,69864],[69872,69881]],Soyombo:[[72272,72354]],Sundanese:[[7040,7103],[7360,7367]],Syloti_Nagri:[[2404,2405],[2534,2543],[43008,43052]],Syriac:[1548,[1563,1564],1567,1600,[1611,1621],1648,[1792,1805],[1807,1866],[1869,1871],[2144,2154],7672,7674],Tagalog:[[5888,5909],5919,[5941,5942]],Tagbanwa:[[5941,5942],[5984,5996],[5998,6e3],[6002,6003]],Tai_Le:[[4160,4169],[6480,6509],[6512,6516]],Tai_Tham:[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],Tai_Viet:[[43648,43714],[43739,43743]],Takri:[[2404,2405],[43056,43065],[71296,71353],[71360,71369]],Tamil:[[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],Tangsa:[[92784,92862],[92864,92873]],Tangut:[94176,[94208,100343],[100352,101119],[101632,101640]],Telugu:[[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],Thaana:[1548,[1563,1564],1567,[1632,1641],[1920,1969],65010,65021],Thai:[[3585,3642],[3648,3675]],Tibetan:[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],Tifinagh:[[11568,11623],[11631,11632],11647],Tirhuta:[[2385,2386],[2404,2405],7410,[43056,43065],[70784,70855],[70864,70873]],Toto:[[123536,123566]],Ugaritic:[[66432,66461],66463],Vai:[[42240,42539]],Vithkuqi:[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],Wancho:[[123584,123641],123647],Warang_Citi:[[71840,71922],71935],Yezidi:[1548,1563,1567,[1632,1641],[69248,69289],[69291,69293],[69296,69297]],Yi:[[12289,12290],[12296,12305],[12308,12315],12539,[40960,42124],[42128,42182],[65377,65381]],Zanabazar_Square:[[72192,72263]]},Symbol.toStringTag,{value:"Module"})),Word_Break:Object.freeze(Object.defineProperty({__proto__:null,ALetter:[[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]],CR:[13],Double_Quote:[34],Extend:[[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]],ExtendNumLet:[95,8239,[8255,8256],8276,[65075,65076],[65101,65103],65343],Format:[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],Hebrew_Letter:[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Katakana:[[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]],LF:[10],MidLetter:[58,183,903,1375,1524,8231,65043,65109,65306],MidNum:[44,59,894,1417,[1548,1549],1644,2040,8260,65040,65044,65104,65108,65292,65307],MidNumLet:[46,[8216,8217],8228,65106,65287,65294],Newline:[[11,12],133,[8232,8233]],Numeric:[[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]],Other:[[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]],Regional_Indicator:[[127462,127487]],Single_Quote:[39],WSegSpace:[32,5760,[8192,8198],[8200,8202],8287,12288],ZWJ:[8205]},Symbol.toStringTag,{value:"Module"}))},Symbol.toStringTag,{value:"Module"}));function E7(r){const n=Object.keys(r);if(n.length===0)throw new Error("Expected at least one category, but received 0.");if(n.some(e=>{const s=r[e];return s===void 0||s.length===0}))throw new Error("Expected at least one sub category, but received 0.");return n.map(e=>{const i=r[e].map(o=>Ht(e,o));return new T1().union(...i)}).reduce((e,s)=>e.intersect(s))}function Ht(r,n){const e=kt[r][n];return new T1().union(...e)}const a6=E7({Script:["Han","Katakana","Hiragana","Hangul","Bopomofo"],General_Category:["Other_Letter","Letter_Number","Other_Symbol","Modifier_Letter"]}),b7=E7({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(a6),Xt=M2(a6,b7);function Yt(){return M2(Xt)}function zt(){return M2(a6)}function Wt(){return M2(b7)}const S7=r=>({sbr:.6,sbo:r,spr:.6,spo:r});class M1{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(n,t,e){this._globalFontMeasureCache.has(n)||this._globalFontMeasureCache.set(n,new Map);const s=this._globalFontMeasureCache.get(n);s&&s.set(t,e)}static clearFontMeasureCache(n){var e;const t=n.split("/");if(t.length===1){const s=t[0];this._globalFontMeasureCache.delete(s)}else if(t.length===2){const s=t[0],i=t[1];(e=this._globalFontMeasureCache.get(s))==null||e.delete(i)}else return!1;return!0}static getFontMeasureCache(n,t){var e;return(e=this._globalFontMeasureCache.get(n))==null?void 0:e.get(t)}static autoCleanFontMeasureCache(n=1e6){let t=0,e=!1;for(const s of this._globalFontMeasureCache){const[,i]=s;if(t+=i.size,t>n){e=!0;break}}if(e){let s=0;for(const i of this._globalFontMeasureCache){const[o,a]=i;if(s+=a.size,s>n/2){const l=s-n/2;this._clearMeasureCache(l,a);break}this._globalFontMeasureCache.delete(o)}return!0}return!1}static getBaselineOffsetInfo(n,t){if(this._fontDataMap.size===0)return S7(t);const e=n.split(",");for(let s of e){s=s.replace(/'/g,"");const i=this._fontDataMap.get(s);if(!i)continue;const{subscriptSizeRatio:o,subscriptOffset:a,superscriptSizeRatio:l,superscriptOffset:u}=i;return{sbr:o,sbo:a*t,spr:l,spo:u*t}}return S7(t)}static getTextSizeByDom(n,t){if(t in this._getTextHeightCache)return this._getTextHeightCache[t];let e=document.getElementById("universheetTextSizeTest");const s="float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;";e||(e=document.createElement("span"),e.id="universheetTextSizeTest",document.getElementsByTagName("body")[0].appendChild(e)),e.style.cssText+=`${s};${t}`,e.textContent=n;const i=e.getBoundingClientRect(),o={width:i.width,height:i.height};return this._getTextHeightCache[t]=o,o}static getTextSize(n,t){const{fontString:e,fontSize:s,fontFamily:i}=t;let o=this._getBoundingBoxByFont(i,s);if(!o){const a=this.getMeasureText(n,e);o=this._calculateBoundingBoxByMeasureText(a,s)}return o}static getMeasureText(n,t){if(!this._context){const f=document.createElement("canvas");this._context=f.getContext("2d")}const e=this._context,s=this.getFontMeasureCache(t,n);if(s!=null)return s;e.font=t;const i=e.measureText(n),{width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:l,actualBoundingBoxAscent:u,actualBoundingBoxDescent:c}=i,_={width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:l,actualBoundingBoxAscent:u,actualBoundingBoxDescent:c};if(a==null||l==null||Number.isNaN(a)||Number.isNaN(l)){const f=this.getTextSizeByDom(f7,t).height;e.textBaseline==="top"?(_.fontBoundingBoxAscent=_.actualBoundingBoxAscent=f,_.fontBoundingBoxDescent=_.actualBoundingBoxDescent=0):e.textBaseline==="middle"?(_.fontBoundingBoxDescent=_.actualBoundingBoxDescent=f/2,_.fontBoundingBoxAscent=_.actualBoundingBoxAscent=f/2):(_.fontBoundingBoxDescent=_.actualBoundingBoxDescent=0,_.fontBoundingBoxAscent=_.actualBoundingBoxAscent=f)}return this.setFontMeasureCache(t,n,_),_}static _clearMeasureCache(n,t){let e=0;for(const s of t){const[i]=s;if(e>n)break;t.delete(i),e++}return!0}static _getBoundingBoxByFont(n,t=28,e=""){const s=this._fontDataMap.get(n);if(!s)return;const{notDefWidth:i,ascender:o,descender:a,typoAscender:l,typoDescender:u,strikeoutPosition:c,subscriptSizeRatio:_,subscriptOffset:f,superscriptSizeRatio:m,superscriptOffset:C,hdmxData:p,glyphHorizonMap:F}=s,b=p==null?void 0:p.indexOf(Math.floor(t)),T=F.get(e.charCodeAt(0));let y=i;if(T){const{width:v,pixelsPerEm:$=[]}=T;b?y=$[b]:y=v}return{width:y*t,ba:o*t,bd:a*t,aba:l*t,abd:u*t,sp:c*t,sbr:_,sbo:f*t,spr:m,spo:C*t}}static _calculateBoundingBoxByMeasureText(n,t){const{width:e,fontBoundingBoxAscent:s,fontBoundingBoxDescent:i,actualBoundingBoxAscent:o,actualBoundingBoxDescent:a}=n;return{width:e,ba:s,bd:i,aba:o,abd:a,sp:(s+i)/2,sbr:.6,spr:.6,sbo:(s+i)*.141,spo:(s+i)*.4}}}h(M1,"_getTextHeightCache",{}),h(M1,"_context"),h(M1,"_fontDataMap",new Map),h(M1,"_globalFontMeasureCache",new Map);const T7=180,jt=Math.PI/T7,Gt=T7/Math.PI,y7="rgb(",Ut="rgba(",u1=(r,n)=>r?n!=null?`${Ut+r.join(",")},${n})`:`${y7+r.join(",")})`:`${y7}0,0,0)`,Vt=100,O1=(r,n)=>{if(D.Tools.isNumber(r))return r;if(n&&r&&D.Tools.isString(r)&&r.substr(r.length-1,1)==="%"){const t=Number.parseFloat(r)/Vt;return n*t}return 0},Kt=16,D2=(r,n)=>(n||(n=window),n.requestPostAnimationFrame?n.requestPostAnimationFrame(r):n.requestAnimationFrame?n.requestAnimationFrame(r):n.msRequestAnimationFrame?n.msRequestAnimationFrame(r):n.webkitRequestAnimationFrame?n.webkitRequestAnimationFrame(r):n.mozRequestAnimationFrame?n.mozRequestAnimationFrame(r):n.oRequestAnimationFrame?n.oRequestAnimationFrame(r):setTimeout(r,Kt)),v7=(r,n)=>(n||(n=window),n.requestPostAnimationFrame?n.cancelPostAnimationFrame(r):n.requestAnimationFrame?n.cancelAnimationFrame(r):n.msRequestAnimationFrame?n.msCancelAnimationFrame(r):n.webkitRequestAnimationFrame?n.webkitCancelAnimationFrame(r):n.mozRequestAnimationFrame?n.mozCancelAnimationFrame(r):n.oRequestAnimationFrame?n.oCancelAnimationFrame(r):clearTimeout(r)),u6=()=>{const r=document.createElement("canvas");try{r.style=r.style||{}}catch(n){console.error(n)}return r},Jt=()=>document.createElement("img"),$7=r=>r*Gt,y1=r=>r*jt,l6=()=>{let r="pointer";return typeof window<"u"&&!window.PointerEvent&&typeof navigator<"u"&&(r="mouse"),D.Tools.isTablet()&&!D.Tools.isIPhone()&&!(document&&"ontouchend"in document)&&(r="mouse"),r},B7=()=>D.Tools.getBrowserType()==="safari",Zt=4,O7=(r="obj",n=Zt)=>{const t=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,"").split("");let e="";for(let i=0;i<n;i++)e+=t[Math.round(Math.random()*(t.length-1))];const s=new Date().getTime();return`${r}_${e}_${s}`};function L1(r){return Object.prototype.toString.apply(r)}function c6(r){return L1(r)==="[object Function]"}function qt(r){return L1(r)==="[object Date]"}function Qt(r){return L1(r)==="[object RegExp]"}function te(r){return L1(r)==="[object Array]"}function h6(r){return L1(r)==="[object String]"}function ee(r){return L1(r)==="[object Number]"}function ne(r){return L1(r)==="[object Object]"}function L2(r,n){return n=10**n,Math.round(r*n)/n}function W(r,n){return Math.round(r*n)/n}const w7=11,A7="Arial";function d2(r,n){const t=A7,e=w7;if(!r){const _=`${e}pt ${t}`;return{fontCache:_,fontString:_,fontSize:e,fontFamily:t}}let s=D.FontStyleType.ITALIC;(r.it===0||r.it===void 0)&&(s=D.FontStyleType.NORMAL);let i=D.FontStyleType.BOLD;(r.bl===0||r.bl===void 0)&&(i=D.FontStyleType.NORMAL);let o=e;r.fs&&(o=Math.ceil(r.fs));let a=t;if(r.ff){let _=r.ff;_=_.replace(/"/g,"").replace(/'/g,""),_.indexOf(" ")>-1&&(_=`"${_}"`),_==null&&(_=t),a=_}const{va:l}=r;if(l===D.BaselineOffset.SUBSCRIPT||l===D.BaselineOffset.SUPERSCRIPT){const _=M1.getBaselineOffsetInfo(a,o),{sbr:f,spr:m}=_;o*=l===D.BaselineOffset.SUBSCRIPT?f:m}const u=`${s} ${i} ${o}pt ${a}`,c=`${u}, ${P2} `;return{fontCache:u,fontString:c,fontSize:o,fontFamily:a}}const se=zt().toRegExp();function f2(r){return se.test(r)}const ie=Yt().toRegExp();function g2(r){return ie.test(r)}const re=Wt().toRegExp();function _6(r){return re.test(r)}function oe(r){return!!/[\u0000-\u024F]/gi.exec(r)}function ae(r){return!!/[\u0000-\u007F]/gi.exec(r)}function ue(r){return!!/[\u0080-\u00FF]/gi.exec(r)}function le(r){return!!/[\u0100-\u017F]/gi.exec(r)}function ce(r){return!!/[\u0180-\u024F]/gi.exec(r)}const R7=/^(?:[#*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,he=/^(?:[#*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 D6(r){return he.test(r)}function d6(r){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(r)}function f6(r){return/[\u0180-\u024F]/gi.test(r)}function I7(r){return/\s+/g.test(r)}function x2(r){return["”","’",",","。",".","、",":",";","?","!","》",")","』","」","】","〗","〕","〉","]","}"].indexOf(r)>-1}function N2(r){return["“","‘","《","(","『","「","【","〖","〔","〈","[","{"].indexOf(r)>-1}function g6(r){return["・","·"].indexOf(r)>-1}const P7=1e3;let k2;function m2(){if(k2)return k2;let r=56;for(;r<P7*2;r++)if(matchMedia(`(max-resolution: ${r}dpi)`).matches===!0)return r;return k2=r,setTimeout(()=>{k2=null},P7),r}const M7=72,_e=25.4;function De(r){return r/(M7/m2())}function de(r){return r*(M7/m2())}function fe(r){return r*(m2()/_e)}function ge(r){return r*m2()}function m6(r){const{scaleX:n=1,scaleY:t=1}=r;return Math.max(n,t)}function X1(r,n,t,e){const s=r-1,i=n-1,o=t[s]||0;let a=t[r];a==null&&(a=t[t.length-1]);const l=e[i]||0;let u=e[n];return u==null&&(u=e[e.length-1]),{startY:o,endY:a,startX:l,endX:u}}function J1(r,n,t,e,s){let{startY:i,endY:o,startX:a,endX:l}=X1(r,n,t,e);const{isMerged:u,isMergedMainCell:c,startRow:_,startColumn:f,endRow:m,endColumn:C}=p2(r,n,s);let p={startRow:_,startColumn:f,endRow:m,endColumn:C,startY:0,endY:0,startX:0,endX:0};const F=t.length-1,b=e.length-1;if(u&&_!==-1&&f!==-1){const T=t[_-1]||0,y=t[m]||t[F],v=e[f-1]||0,$=e[C]||e[b];p={...p,startY:T,endY:y,startX:v,endX:$}}else if(!u&&m!==-1&&C!==-1){const T=t[m]||t[F],y=e[C]||e[b];p={...p,startY:i,endY:T,startX:a,endX:y}}return{isMerged:u,isMergedMainCell:c,actualRow:r,actualColumn:n,startY:i,endY:o,startX:a,endX:l,mergeInfo:p}}function p2(r,n,t){let e=!1,s=!1,i=r,o=n,a=r,l=n;if(t==null)return{actualRow:r,actualColumn:n,isMergedMainCell:s,isMerged:e,endRow:i,endColumn:o,startRow:a,startColumn:l};for(let u=0;u<t.length;u++){const{startRow:c,endRow:_,startColumn:f,endColumn:m}=t[u];if(r===c&&n===f){i=_,o=m,a=c,l=f,s=!0;break}if(r>=c&&r<=_&&n>=f&&n<=m){i=_,o=m,a=c,l=f,e=!0;break}}return{actualRow:r,actualColumn:n,isMergedMainCell:s,isMerged:e,endRow:i,endColumn:o,startRow:a,startColumn:l}}function L7(r,n,t,e){let s=!1;for(let i=n;i<=t;i++){const{isMerged:o,isMergedMainCell:a}=p2(r,i,e);if(!o&&!a){s=!0;break}}return s}function p6(r,n,t){const{startY:e,endY:s,startX:i,endX:o}=r;return r.startY=e+t,r.endY=s+t,r.startX=i+n,r.endX=o+n,{...r}}function x7(r,n){return!(r.left>n.right||r.top>n.bottom||n.left>r.right||n.top>r.bottom)}function me(r){const n=document.createElement("style");document.head.appendChild(n);const t=n.sheet;for(const e of r)t==null||t.insertRule(e,t.cssRules.length)}function pe(r){for(let n=0,t=document.head.childNodes.length;n<t;n++){const e=document.head.childNodes[n];if(e.nodeName==="STYLE"&&e.textContent&&e.textContent.indexOf(r)>-1)return!0}return!1}function Y1(r){return Number(r.replace(/px/gi,""))}function N7(r){const n=getComputedStyle(r),{borderTopWidth:t,borderLeftWidth:e,borderRightWidth:s,borderBottomWidth:i,width:o,height:a}=n;return{top:Y1(t),left:Y1(e),right:Y1(s),bottom:Y1(i),width:Y1(o),height:Y1(a)}}const k7=.75;function Fe(r){return r/k7}function Ce(r){return r*k7}class P{constructor(n=0,t=0){this.x=n,this.y=t}static Zero(){return new P(0,0)}static One(){return new P(1,1)}static FromArray(n,t=0){return new P(n[t],n[t+1])}static FromArrayToRef(n,t,e){e.x=n[t],e.y=n[t+1]}static CatmullRom(n,t,e,s,i){const o=i*i,a=i*o,l=.5*(2*t.x+(-n.x+e.x)*i+(2*n.x-5*t.x+4*e.x-s.x)*o+(-n.x+3*t.x-3*e.x+s.x)*a),u=.5*(2*t.y+(-n.y+e.y)*i+(2*n.y-5*t.y+4*e.y-s.y)*o+(-n.y+3*t.y-3*e.y+s.y)*a);return new P(l,u)}static Clamp(n,t,e){let s=n.x;s=s>e.x?e.x:s,s=s<t.x?t.x:s;let i=n.y;return i=i>e.y?e.y:i,i=i<t.y?t.y:i,new P(s,i)}static Hermite(n,t,e,s,i){const o=i*i,a=i*o,l=2*a-3*o+1,u=-2*a+3*o,c=a-2*o+i,_=a-o,f=n.x*l+e.x*u+t.x*c+s.x*_,m=n.y*l+e.y*u+t.y*c+s.y*_;return new P(f,m)}static Hermite1stDerivative(n,t,e,s,i){const o=P.Zero();return this.Hermite1stDerivativeToRef(n,t,e,s,i,o),o}static Hermite1stDerivativeToRef(n,t,e,s,i,o){const a=i*i;o.x=(a-i)*6*n.x+(3*a-4*i+1)*t.x+(-a+i)*6*e.x+(3*a-2*i)*s.x,o.y=(a-i)*6*n.y+(3*a-4*i+1)*t.y+(-a+i)*6*e.y+(3*a-2*i)*s.y}static Lerp(n,t,e){const s=n.x+(t.x-n.x)*e,i=n.y+(t.y-n.y)*e;return new P(s,i)}static Dot(n,t){return n.x*t.x+n.y*t.y}static Normalize(n){const t=P.Zero();return this.NormalizeToRef(n,t),t}static NormalizeToRef(n,t){const e=n.length();e!==0&&(t.x=n.x/e,t.y=n.y/e)}static Minimize(n,t){const e=n.x<t.x?n.x:t.x,s=n.y<t.y?n.y:t.y;return new P(e,s)}static Maximize(n,t){const e=n.x>t.x?n.x:t.x,s=n.y>t.y?n.y:t.y;return new P(e,s)}static PointInTriangle(n,t,e,s){const i=.5*(-e.y*s.x+t.y*(-e.x+s.x)+t.x*(e.y-s.y)+e.x*s.y),o=i<0?-1:1,a=(t.y*s.x-t.x*s.y+(s.y-t.y)*n.x+(t.x-s.x)*n.y)*o,l=(t.x*e.y-t.y*e.x+(t.y-e.y)*n.x+(e.x-t.x)*n.y)*o;return a>0&&l>0&&a+l<2*i*o}static Distance(n,t){return Math.sqrt(P.DistanceSquared(n,t))}static DistanceSquared(n,t){const e=n.x-t.x,s=n.y-t.y;return e*e+s*s}static Center(n,t){return P.CenterToRef(n,t,P.Zero())}static CenterToRef(n,t,e){return e.copyFromFloats((n.x+t.x)/2,(n.y+t.y)/2)}static DistanceOfPointFromSegment(n,t,e){const s=P.DistanceSquared(t,e);if(s===0)return P.Distance(n,t);const i=e.subtract(t),o=Math.max(0,Math.min(1,P.Dot(n.subtract(t),i)/s)),a=t.add(i.multiplyByFloats(o,o));return P.Distance(n,a)}static create(n,t){return new P(n,t)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let n=this.x|0;return n=n*397^(this.y|0),n}toArray(n,t=0){return n[t]=this.x,n[t+1]=this.y,this}fromArray(n,t=0){return P.FromArrayToRef(n,t,this),this}asArray(){const n=new Array;return this.toArray(n,0),n}copyFrom(n){return this.x=n.x,this.y=n.y,this}copyFromFloats(n,t){return this.x=n,this.y=t,this}set(n,t){return this.copyFromFloats(n,t)}add(n){return new P(this.x+n.x,this.y+n.y)}addToRef(n,t){return t.x=this.x+n.x,t.y=this.y+n.y,this}addByPoint(n,t){return new P(this.x+n,this.y+t)}addInPlace(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return new P(this.x-n.x,this.y-n.y)}subtractByPoint(n,t){return new P(this.x-n,this.y-t)}subtractToRef(n,t){return t.x=this.x-n.x,t.y=this.y-n.y,this}subtractInPlace(n){return this.x-=n.x,this.y-=n.y,this}multiplyInPlace(n){return this.x*=n.x,this.y*=n.y,this}multiply(n){return new P(this.x*n.x,this.y*n.y)}multiplyToRef(n,t){return t.x=this.x*n.x,t.y=this.y*n.y,this}multiplyByFloats(n,t){return new P(this.x*n,this.y*t)}divide(n){return new P(this.x/n.x,this.y/n.y)}divideToRef(n,t){return t.x=this.x/n.x,t.y=this.y/n.y,this}divideInPlace(n){return this.divideToRef(n,this)}negate(){return new P(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(n){return n.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(n){return this.x*=n,this.y*=n,this}scale(n){const t=new P(0,0);return this.scaleToRef(n,t),t}scaleToRef(n,t){return t.x=this.x*n,t.y=this.y*n,this}scaleAndAddToRef(n,t){return t.x+=this.x*n,t.y+=this.y*n,this}equals(n){return n&&this.x===n.x&&this.y===n.y}floor(){return new P(Math.floor(this.x),Math.floor(this.y))}fract(){return new P(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(n){const t=Math.cos(n),e=Math.sin(n),s=t*this.x-e*this.y,i=e*this.x+t*this.y;return this.x=s,this.y=i,this}rotateToRef(n,t){const e=Math.cos(n),s=Math.sin(n);return t.x=e*this.x-s*this.y,t.y=s*this.x+e*this.y,this}rotateByPoint(n,t=P.create(0,0)){const e=Math.cos(n),s=Math.sin(n),i=t.x+(this.x-t.x)*e-(this.y-t.y)*s,o=t.y+(this.x-t.x)*s+(this.y-t.y)*e;return this.x=i,this.y=o,this}transformCoordinateOnRotate(n){const t=Math.sqrt(this.x**2+this.y**2),e=Math.atan2(this.y,this.x),s=-n+e;return this.x=t*Math.cos(s),this.y=t*Math.sin(s),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 P.NormalizeToRef(this,this),this}clone(){return new P(this.x,this.y)}}const H2=[1,0,0,1,0,0];class r1{constructor(n=H2){h(this,"dirty",!1);h(this,"_m");this._m=n&&n.slice()||H2}static create(n=H2){return new this(n)}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 r1(this._m)}copyInto(n){n._m[0]=this._m[0],n._m[1]=this._m[1],n._m[2]=this._m[2],n._m[3]=this._m[3],n._m[4]=this._m[4],n._m[5]=this._m[5]}applyPoint(n,t=!1){const e=this._m,s=e[0]*n.x+e[2]*n.y,i=e[1]*n.x+e[3]*n.y;return t?new P(s,i):new P(s+e[4],i+e[5])}translate(n,t){return this._m[4]+=this._m[0]*n+this._m[2]*t,this._m[5]+=this._m[1]*n+this._m[3]*t,this}scale(n,t){return this._m[0]*=n,this._m[1]*=n,this._m[2]*=t,this._m[3]*=t,this}rotate(n){const t=y1(n),e=Math.cos(t),s=Math.sin(t),i=this._m[0]*e+this._m[2]*s,o=this._m[1]*e+this._m[3]*s,a=this._m[0]*-s+this._m[2]*e,l=this._m[1]*-s+this._m[3]*e;return this._m[0]=i,this._m[1]=o,this._m[2]=a,this._m[3]=l,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(n,t){const e=this._m[0]+this._m[2]*t,s=this._m[1]+this._m[3]*t,i=this._m[2]+this._m[0]*n,o=this._m[3]+this._m[1]*n;return this._m[0]=e,this._m[1]=s,this._m[2]=i,this._m[3]=o,this}multiply(n){const t=this._m[0]*n._m[0]+this._m[2]*n._m[1],e=this._m[1]*n._m[0]+this._m[3]*n._m[1],s=this._m[0]*n._m[2]+this._m[2]*n._m[3],i=this._m[1]*n._m[2]+this._m[3]*n._m[3],o=this._m[0]*n._m[4]+this._m[2]*n._m[5]+this._m[4],a=this._m[1]*n._m[4]+this._m[3]*n._m[5]+this._m[5];return this._m[0]=t,this._m[1]=e,this._m[2]=s,this._m[3]=i,this._m[4]=o,this._m[5]=a,this}invert(){const n=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),t=this._m[3]*n,e=-this._m[1]*n,s=-this._m[2]*n,i=this._m[0]*n,o=n*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),a=n*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=t,this._m[1]=e,this._m[2]=s,this._m[3]=i,this._m[4]=o,this._m[5]=a,this}getMatrix(){return this._m}getMatrixByAccurate(n=3){return this._m.map(t=>L2(t,n))}setAbsolutePosition(n){const t=this._m[0],e=this._m[1],s=this._m[2],i=this._m[3],o=this._m[4],a=this._m[5],l=(t*(n.y-a)-e*(n.x-o))/(t*i-e*s),u=(n.x-o-s*l)/t;return this.translate(u,l)}decompose(){const n=this._m[0],t=this._m[1],e=this._m[2],s=this._m[3],i=this._m[4],o=this._m[5],a=n*s-t*e,l={x:i,y:o,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(n!==0||t!==0){const u=Math.sqrt(n*n+t*t);l.angle=t>0?Math.acos(n/u):-Math.acos(n/u),l.scaleX=u,l.scaleY=a/u,l.skewX=(n*e+t*s)/a,l.skewY=0}else if(e!==0||s!==0){const u=Math.sqrt(e*e+s*s);l.angle=Math.PI/2-(s>0?Math.acos(-e/u):-Math.acos(e/u)),l.scaleX=a/u,l.scaleY=u,l.skewX=0,l.skewY=(n*e+t*s)/a}return l.angle=$7(l.angle),l}makeBoundingBoxFromPoints(n){if(this)for(let c=0;c<n.length;c++)n[c]=this.applyPoint(n[c]);const t=[n[0].x,n[1].x,n[2].x,n[3].x],e=Math.min(...t),i=Math.max(...t)-e,o=[n[0].y,n[1].y,n[2].y,n[3].y],a=Math.min(...o),u=Math.max(...o)-a;return{left:e,top:a,width:i,height:u,points:n}}composeMatrix(n){const t=new r1([1,0,0,1,n.left||0,n.top||0]);return n.angle&&t.rotate(n.angle),(n.scaleX!==1||n.scaleY!==1||n.skewX||n.skewY||n.flipX||n.flipY)&&t.multiply(this._calcDimensionsMatrix(n)),this._m=t.getMatrix(),this}clone(){return new r1([...this._m])}_calcDimensionsMatrix(n){var i,o;const t=(i=n.scaleX)!=null?i:1,e=(o=n.scaleY)!=null?o:1,s=new r1([n.flipX?-t:t,0,0,n.flipY?-e:e,0,0]);return n.skewX&&s.multiply(new r1([1,0,Math.tan(y1(n.skewX)),1,0,0])),n.skewY&&s.multiply(new r1([1,Math.tan(y1(n.skewY)),0,1,0,0])),s}}const X2=["top","left","width","height","angle","scaleX","scaleY","skewX","skewY","flipX","flipY","strokeWidth"];class w1{constructor(n){h(this,"groupKey");h(this,"isInGroup",!1);h(this,"onTransformChangeObservable",new D.Observable);h(this,"onPointerDownObserver",new D.Observable);h(this,"onPointerMoveObserver",new D.Observable);h(this,"onPointerUpObserver",new D.Observable);h(this,"onDblclickObserver",new D.Observable);h(this,"onTripleClickObserver",new D.Observable);h(this,"onMouseWheelObserver",new D.Observable);h(this,"onPointerOutObserver",new D.Observable);h(this,"onPointerLeaveObserver",new D.Observable);h(this,"onPointerOverObserver",new D.Observable);h(this,"onPointerEnterObserver",new D.Observable);h(this,"onIsAddedToParentObserver",new D.Observable);h(this,"onDisposeObserver",new D.Observable);h(this,"_oKey");h(this,"_dirty",!0);h(this,"_top",0);h(this,"_topOrigin",0);h(this,"_left",0);h(this,"_leftOrigin",0);h(this,"_width",0);h(this,"_widthOrigin",0);h(this,"_height",0);h(this,"_heightOrigin",0);h(this,"_angle",0);h(this,"_scaleX",1);h(this,"_scaleY",1);h(this,"_skewX",0);h(this,"_skewY",0);h(this,"_flipX",!1);h(this,"_flipY",!1);h(this,"_strokeWidth",0);h(this,"_parent");h(this,"_zIndex",0);h(this,"_evented",!0);h(this,"_visible",!0);h(this,"_debounceParentDirty",!0);h(this,"_transform",new r1);h(this,"_cursor",n1.DEFAULT);h(this,"_isTransformer",!1);h(this,"_forceRender",!1);h(this,"_layer");n?this._oKey=n:this._oKey=O7()}get transform(){return this._transform}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return H.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 t;const n=((t=this.getParent())==null?void 0:t.ancestorScaleX)||1;return this.scaleX*n}get ancestorScaleY(){var t;const n=((t=this.getParent())==null?void 0:t.ancestorScaleY)||1;return this.scaleY*n}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 isTransformer(){return this._isTransformer}get cursor(){return this._cursor}get layer(){return this._layer}set transform(n){this._transform=n}set zIndex(n){this._zIndex=n}set parent(n){this._parent=n}set evented(n){this._evented=n}set debounceParentDirty(n){this._debounceParentDirty=n}set isTransformer(n){this._isTransformer=n}set cursor(n){this.setCursor(n)}set layer(n){this._layer=n}set top(n){var t;this._topOrigin=n,this._top=O1(n,(t=this._parent)==null?void 0:t.height)}set left(n){var t;this._leftOrigin=n,this._left=O1(n,(t=this._parent)==null?void 0:t.width)}set width(n){var t;this._widthOrigin=n,this._width=O1(n,(t=this._parent)==null?void 0:t.width)}set height(n){var t;this._heightOrigin=n,this._height=O1(n,(t=this._parent)==null?void 0:t.height)}set strokeWidth(n){this._strokeWidth=n}set angle(n){this._angle=n}set scaleX(n){this._scaleX=n}set scaleY(n){this._scaleY=n}set skewX(n){this._skewX=n}set flipY(n){this._flipY=n}set flipX(n){this._flipX=n}set skewY(n){this._skewY=n}makeDirty(n=!0){if(this._dirty=n,n){if(this._layer==null){this._dirty=!1;return}typeof this._layer.debounceParentTimeout=="function"&&this._layer.debounceParentTimeout(),this._layer.debounceParentTimeout=D.requestImmediateMacroTask(()=>{var t;(t=this._layer)==null||t.makeDirty(n)})}return this}makeDirtyNoDebounce(n=!0){var t;return this._dirty=n,n&&((t=this._layer)==null||t.makeDirty(n)),this}isDirty(){return this._dirty}translate(n,t){const e=this.top;t!==void 0&&(this.top=t);const s=this.left;return n!==void 0&&(this.left=n),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.translate,value:{top:this._top,left:this._left},preValue:{top:e,left:s}}),this}resize(n,t){const e=this.width;n!==void 0&&(this.width=n);const s=this.height;return t!==void 0&&(this.height=t),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.resize,value:{width:this._width,height:this._height},preValue:{width:e,height:s}}),this}scale(n,t){const e=this.scaleX;n!==void 0&&(this.scaleX=n);const s=this.scaleY;return t!==void 0&&(this.scaleY=t),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:e,scaleY:s}}),this}skew(n,t){const e=n;n!==void 0&&(this.skewX=n);const s=t;return t!==void 0&&(this.skewY=t),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:e,skewY:s}}),this}flip(n,t){const e=n;n!==void 0&&(this.flipX=n);const s=t;return t!==void 0&&(this.flipY=t),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:e,flipY:s}}),this}transformByState(n){const t=Object.keys(n),e={};if(t.length!==0)return t.forEach(s=>{n[s]!==void 0&&(e[s]=this[s],this[s]=n[s])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.all,value:n,preValue:e}),this}isRender(n){return this._forceRender?!1:n&&!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(n,t){}isHit(n){const t=this._getInverseCoord(n);return t.x>=-this.strokeWidth/2&&t.x<=this.width+this.strokeWidth/2&&t.y>=-this.strokeWidth/2&&t.y<=this.height+this.strokeWidth/2}on(n,t){return this[`on${n}Observer`].add(t.bind(this))}off(n,t){this[`on${n}Observer`].remove(t)}clear(n){this[`on${n}Observer`].clear()}triggerPointerMove(n){var t,e;return(t=this.onPointerMoveObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerMove(n),!1)}triggerPointerDown(n){var t,e;return(t=this.onPointerDownObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerDown(n),!1)}triggerPointerUp(n){var t,e;return(t=this.onPointerUpObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerUp(n),!1)}triggerDblclick(n){var t,e;return(t=this.onDblclickObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerDblclick(n),!1)}triggerTripleClick(n){var t,e;return(t=this.onTripleClickObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerTripleClick(n),!1)}triggerMouseWheel(n){var t,e;return(t=this.onMouseWheelObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerMouseWheel(n),!1)}triggerPointerOut(n){var t,e;return(t=this.onPointerOutObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerOut(n),!1)}triggerPointerLeave(n){var t,e;return(t=this.onPointerLeaveObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerLeave(n),!1)}triggerPointerOver(n){var t;return this.onPointerOverObserver.notifyObservers(n)?!0:((t=this._parent)==null||t.triggerPointerOver(n),!1)}triggerPointerEnter(n){var t,e;return(t=this.onPointerEnterObserver.notifyObservers(n))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerEnter(n),!1)}dispose(){var n;this.onTransformChangeObservable.clear(),this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onMouseWheelObserver.clear(),this.onPointerOutObserver.clear(),this.onPointerLeaveObserver.clear(),this.onPointerOverObserver.clear(),this.onPointerEnterObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onIsAddedToParentObserver.clear(),(n=this.parent)==null||n.removeObject(this),this.onDisposeObserver.notifyObservers(this),this._makeDirtyMix(),this.onDisposeObserver.clear()}toJson(){const n={};return X2.forEach(t=>{this[t]&&(n[t]=this[t])}),n}getScene(){let n=this.parent;if(n!=null){if(n.classType===H.SCENE)return n;for(;n;){if(n.classType===H.SCENE)return n;n=n.getParent()}}}resetCursor(){var n;(n=this.getScene())==null||n.resetCursor()}setCursor(n){var t;this._cursor=n,(t=this.getScene())==null||t.setCursor(n)}getEngine(){let n=this.getParent();for(;n!=null;){if(n.classType===H.ENGINE)return n;n=n.getParent()}return null}getObjects(){return[]}_getInverseCoord(n){return this._transform.clone().invert().applyPoint(n)}_setTransForm(){const n=r1.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=n,this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}}var H7=(r=>(r[r.GLYPH=0]="GLYPH",r[r.DIVIDE=1]="DIVIDE",r[r.LINE=2]="LINE",r[r.COLUMN=3]="COLUMN",r[r.SECTION=4]="SECTION",r[r.PAGE=5]="PAGE",r[r.DRAWING=6]="DRAWING",r[r.BULLET=7]="BULLET",r[r.HEADER=8]="HEADER",r[r.FOOTER=9]="FOOTER",r[r.ALL=10]="ALL",r))(H7||{}),Z1=(r=>(r[r.SECTION=0]="SECTION",r[r.PAGE=1]="PAGE",r[r.COLUMN=2]="COLUMN",r))(Z1||{}),F2=(r=>(r[r.PARAGRAPH=0]="PARAGRAPH",r[r.BLOCK=1]="BLOCK",r))(F2||{}),m1=(r=>(r[r.LETTER=0]="LETTER",r[r.WORD=1]="WORD",r[r.LIST=2]="LIST",r[r.PLACEHOLDER=3]="PLACEHOLDER",r[r.TAB=4]="TAB",r[r.IMAGE=5]="IMAGE",r[r.AT=6]="AT",r[r.MATH=7]="MATH",r[r.MULTI_LINE=8]="MULTI_LINE",r[r.CUSTOM=9]="CUSTOM",r))(m1||{}),v1=(r=>(r[r.VERTICAL=0]="VERTICAL",r[r.HORIZONTAL=1]="HORIZONTAL",r[r.AUTO=2]="AUTO",r))(v1||{});function Ee(r){var e;const n=r==null?void 0:r.parent;return n==null?!1:((e=n.glyphGroup[0])==null?void 0:e.glyphType)===m1.LIST}function be(r,n){const t=X7(r,n);if(t==null)return!1;const{paragraphStyle:e}=t;return e==null?!1:D.checkParagraphHasIndentByStyle(e)}function Se(r){const n=r==null?void 0:r.parent,t=n==null?void 0:n.parent,e=n==null?void 0:n.glyphGroup,s=t==null?void 0:t.divides;if(e&&r&&s&&n){const i=e.indexOf(r);if(s.indexOf(n)===s.length-1&&i===e.length-1)return!0}return!1}function Te(r){const n=r==null?void 0:r.parent,t=n==null?void 0:n.parent,e=n==null?void 0:n.glyphGroup,s=t==null?void 0:t.divides;if(e&&r&&s&&n){const i=e.indexOf(r),o=s.indexOf(n);if(o===0&&i===0||o===0&&i===1&&e[0].glyphType===m1.LIST)return!0}return!1}function X7(r,n){var s;const t=(s=r==null?void 0:r.parent)==null?void 0:s.parent;if(t==null||n==null)return;const e=n.paragraphs;if(e!=null){for(const i of e)if(i.startIndex===t.paragraphIndex)return i}}function ye(r){return r==null?!1:[D.DataStreamTreeTokenType.PARAGRAPH,D.DataStreamTreeTokenType.TAB,D.DataStreamTreeTokenType.SECTION_BREAK].indexOf(r.streamType)!==-1||r.content===D.DataStreamTreeTokenType.SPACE}function ve(r,n){return r==null||n==null||r.parent==null||n.parent==null?!1:r.parent.parent===n.parent.parent}function F6(){let r=1;const t=u6().getContext("2d");return r=(()=>{const e=window.devicePixelRatio||1,s=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return e/s})(),r<1?1:r}function C6(r,n,t,e){let s=0,i=0,o=0,a=0;const{startX:l,startY:u,endX:c,endY:_}=e;n===z.TOP?(s=l-t,i=u,o=c+t,a=u):n===z.BOTTOM?(s=l-t,i=_,o=c-t,a=_):n===z.LEFT?(s=l,i=u-t,o=l,a=_+t):n===z.RIGHT&&(s=c,i=u-t,o=c,a=_+t),r.beginPath(),r.moveToByPrecision(s,i),r.lineToByPrecision(o,a),r.closePathByEnv(),r.stroke()}function Y7(r,n,t){let e=0,s=0,i=0,o=0;const{startX:a,startY:l,endX:u,endY:c}=t;n===z.TL_BR?(e=a,s=l,i=u,o=c):n===z.TL_BC?(e=a,s=l,i=(a+u)/2,o=c):n===z.TL_MR?(e=a,s=l,i=u,o=(l+c)/2):n===z.BL_TR?(e=a,s=c,i=u,o=l):n===z.ML_TR?(e=a,s=(l+c)/2,i=u,o=l):n===z.BC_TR&&(e=(a+u)/2,s=c,i=u,o=l),r.beginPath(),r.moveToByPrecision(e,s),r.lineToByPrecision(i,o),r.closePathByEnv(),r.stroke()}function $e(r,n,t){let e=0,s=0,i=0,o=0;const{startX:a,startY:l,endX:u,endY:c}=t;n===z.TOP?(e=a,s=l,i=u,o=l):n===z.BOTTOM?(e=a,s=c,i=u,o=c):n===z.LEFT?(e=a,s=l,i=a,o=c):n===z.RIGHT&&(e=u,s=l,i=u,o=c),r.beginPath(),r.clearRectForTexture(e,s,i-e,o-s)}function E6(r,n){n===D.BorderStyleTypes.HAIR?r.setLineDash([1,2]):n===D.BorderStyleTypes.DASH_DOT_DOT||n===D.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?r.setLineDash([2,2,5,2,2]):n===D.BorderStyleTypes.DASH_DOT||n===D.BorderStyleTypes.MEDIUM_DASH_DOT||n===D.BorderStyleTypes.SLANT_DASH_DOT?r.setLineDash([2,5,2]):n===D.BorderStyleTypes.DOTTED?r.setLineDash([2]):n===D.BorderStyleTypes.DASHED||n===D.BorderStyleTypes.MEDIUM_DASHED?r.setLineDash([3]):r.setLineDash([0])}function z7(){const r=W7(1);return r-Math.floor(r)}function W7(r){return Math.ceil(r/F6()*100)/100}function b6(r){let n=1;return r===D.BorderStyleTypes.MEDIUM||r===D.BorderStyleTypes.MEDIUM_DASH_DOT||r===D.BorderStyleTypes.MEDIUM_DASHED||r===D.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?n=2:r===D.BorderStyleTypes.THICK&&(n=3),n}function C2(r,n,t,e,s=P.create(0,0)){const i=r.add(n).rotateByPoint(e),o=i.subtract(n),a=e-t;return o.rotateByPoint(a,i).add(s).transformCoordinateOnRotate(a)}function j7(r){return r>0?h2.DOWN:h2.UP}function S6(r,n,t){var C;const e=[];let s=0,i=0,o=0,a=0,l=0;const u=j7(t),c=r.length;t=Math.abs(t);const _=Math.tan(t),f=Math.sin(t),m=Math.cos(t);if(u===h2.UP){let p=0;for(let F=0;F<c;F++){const b=r[F],{lineHeight:T=0}=b;p+=F===0?0:T;const y=n*f+T*m;e.push(p/_),y>i&&(i=y),F===0&&(o+=T*f,l+=T*m)}o+=p/f+n*m,l-=i}else{let p=0,F=-1;const b=[];for(let v=c-1;v>=0;v--){const $=r[v],{lineHeight:B=0}=$,w=B/_,O=(n+w)*f;b.unshift(B/_),O>i&&(i=O,p=w,F=v),v===0?o+=B*f:v===c-1?o+=n*m+B/f:o+=B/f}let T=((C=r[F])==null?void 0:C.lineHeight)||0,y=0;for(let v=F+1;v<=c-1;v++){const $=r[v],{lineHeight:B=0}=$;T+=B,y+=b[v]||0,e[v]=-y}y=0;for(let v=F-1;v>=0;v--){const $=r[v],{lineHeight:B=0}=$;y+=b[v+1]||0,e[v]=y,s+=B}e[F]=0,c===1&&(o+=n*m),a=T/f-p*m}return{rotateTranslateXList:e,rotatedHeight:i,rotatedWidth:o,fixOffsetX:a,fixOffsetY:l,rotateTranslateY:s}}function Be(){const r=.5-z7();return{left:r,top:r}}var G7=(r=>(r[r.PointerMove=0]="PointerMove",r[r.PointerDown=1]="PointerDown",r[r.PointerUp=2]="PointerUp",r[r.Dblclick=3]="Dblclick",r[r.Keyboard=4]="Keyboard",r))(G7||{});class Y2{}h(Y2,"DOM_DELTA_PIXEL",0),h(Y2,"DOM_DELTA_LINE",1),h(Y2,"DOM_DELTA_PAGE",2);var p1=(r=>(r[r.Generic=0]="Generic",r[r.Keyboard=1]="Keyboard",r[r.Mouse=2]="Mouse",r[r.Touch=3]="Touch",r))(p1||{}),M=(r=>(r[r.Horizontal=0]="Horizontal",r[r.Vertical=1]="Vertical",r[r.LeftClick=2]="LeftClick",r[r.MiddleClick=3]="MiddleClick",r[r.RightClick=4]="RightClick",r[r.BrowserBack=5]="BrowserBack",r[r.BrowserForward=6]="BrowserForward",r[r.MouseWheelX=7]="MouseWheelX",r[r.MouseWheelY=8]="MouseWheelY",r[r.MouseWheelZ=9]="MouseWheelZ",r[r.DeltaHorizontal=10]="DeltaHorizontal",r[r.DeltaVertical=11]="DeltaVertical",r[r.FakeMove=12]="FakeMove",r))(M||{});const U7=[new P(0,0),new P(1,1)];class V7{constructor(n=U7){this._lines=n}intersection(n){if(this._lines.length<1||n.length<1)return;const t=[];for(let e=1;e<this._lines.length;e++){const s=this._lines[e-1],i=this._lines[e];for(let o=1;o<n.length;o++){const a=this._lines[e-1],l=this._lines[e],u=this._intersection({from:s,to:i},{from:a,to:l});u&&t.push(u)}}return t}_intersection(n,t){const e=n.from,s=n.to,i=t.from,o=t.to,a=(e.x-i.x)*(s.y-i.y)-(e.y-i.y)*(s.x-i.x),l=(e.x-o.x)*(s.y-o.y)-(e.y-o.y)*(s.x-o.x);if(a*l>=0)return!1;const u=(i.x-e.x)*(o.y-e.y)-(i.y-e.y)*(o.x-e.x),c=u+a-l;if(u*c>=0)return!1;const _=u/(l-a),f=_*(s.x-e.x),m=_*(s.y-e.y);return new P(e.x+f,e.y+m)}}class K7{constructor(n=30){h(this,"_enabled",!0);h(this,"_rollingFrameTime");h(this,"_lastFrameTimeMs");this._rollingFrameTime=new J7(n)}get averageFrameTime(){return this._rollingFrameTime.average}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return 1e3/this._rollingFrameTime.average}get instantaneousFPS(){const n=this._rollingFrameTime.history(0);return n===0?0:1e3/n}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(n=this.Now()){if(this._enabled){if(this._lastFrameTimeMs!=null){const t=n-this._lastFrameTimeMs;this._rollingFrameTime.add(t)}this._lastFrameTimeMs=n}}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()}}class J7{constructor(n){h(this,"average",0);h(this,"variance",0);h(this,"_samples",[]);h(this,"_sampleCount",0);h(this,"_pos",0);h(this,"_m2",0);this._samples=new Array(n),this.reset()}add(n){let t;if(this.isSaturated()){const e=this._samples[this._pos];t=e-this.average,this.average-=t/(this._sampleCount-1),this._m2-=t*(e-this.average)}else this._sampleCount++;t=n-this.average,this.average+=t/this._sampleCount,this._m2+=t*(n-this.average),this.variance=this._m2/(this._sampleCount-1),this._samples[this._pos]=n,this._pos++,this._pos%=this._samples.length}history(n){if(n>=this._sampleCount||n>=this._samples.length)return 0;const t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-n)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.average=0,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(n){const t=this._samples.length;return(n%t+t)%t}}const E2={strokeWidth:1,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:"rgba(0, 0, 0, 0.2)"};var b2=(r=>(r.NONE="none",r.BACKWARD="backward",r.FORWARD="forward",r))(b2||{});function q1(r){const n=r.getScene(),t=r.getViewportByCoord(n),e=0,s=0;if(!t)return{scrollX:e,scrollY:s};const i=t.getActualScroll(t.scrollX,t.scrollY);return{scrollX:i.x,scrollY:i.y}}const h1=90;function S2(r){const{a:n=0,v:t=D.BooleanNumber.FALSE}=r||{a:0,v:D.BooleanNumber.FALSE};let e=0,s=n;return t===D.BooleanNumber.TRUE&&(e=h1,s=h1),{centerAngle:e,vertexAngle:s}}class T6{constructor(n){h(this,"canvas");h(this,"_context");this._context=n,this.canvas=n.canvas}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(n){this._context.globalAlpha=n}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(n){this._context.globalCompositeOperation=n}get fillStyle(){return this._context.fillStyle}set fillStyle(n){this._context.fillStyle=n}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(n){this._context.strokeStyle=n}get filter(){return this._context.filter}set filter(n){this._context.filter=n}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(n){this._context.imageSmoothingEnabled=n}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(n){this._context.imageSmoothingQuality=n}get lineCap(){return this._context.lineCap}set lineCap(n){this._context.lineCap=n}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(n){this._context.lineDashOffset=n}get lineJoin(){return this._context.lineJoin}set lineJoin(n){this._context.lineJoin=n}get lineWidth(){return this._context.lineWidth}set lineWidth(n){this._context.lineWidth=n}setLineWidthByPrecision(n){const{scaleX:t,scaleY:e}=this._getScale();this._context.lineWidth=n/Math.max(t,e)}get miterLimit(){return this._context.miterLimit}set miterLimit(n){this._context.miterLimit=n}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(n){this._context.shadowBlur=n}get shadowColor(){return this._context.shadowColor}set shadowColor(n){this._context.shadowColor=n}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(n){this._context.shadowOffsetX=n}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(n){this._context.shadowOffsetY=n}get direction(){return this._context.direction}set direction(n){this._context.direction=n}get font(){return this._context.font}set font(n){this._context.font=n}get fontKerning(){return this._context.fontKerning}set fontKerning(n){this._context.fontKerning=n}get fontStretch(){return this._context.fontStretch}set fontStretch(n){this._context.fontStretch=n}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(n){this._context.fontVariantCaps=n}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(n){this._context.letterSpacing=n}get textRendering(){return this._context.textRendering}set textRendering(n){this._context.textRendering=n}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(n){this._context.wordSpacing=n}get textAlign(){return this._context.textAlign}set textAlign(n){this._context.textAlign=n}get textBaseline(){return this._context.textBaseline}set textBaseline(n){this._context.textBaseline=n}_getScale(){const n=this.getTransform();return{scaleX:n.a,scaleY:n.d}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...n){return this._context.isPointInStroke(...n)}createConicGradient(n,t,e){return this._context.createConicGradient(n,t,e)}roundRect(n,t,e,s,i){this._context.roundRect(n,t,e,s,i)}roundRectByPrecision(n,t,e,s,i){const{scaleX:o,scaleY:a}=this._getScale();n=W(n,o),t=W(t,a),e=W(e,o),s=W(s,a),this.roundRect(n,t,e,s,i)}getTransform(){return this._context.getTransform()}resetTransform(){this._context.resetTransform()}drawFocusIfNeeded(...n){return this._context.drawFocusIfNeeded(...n)}reset(){this._context.reset()}arc(n,t,e,s,i,o){this._context.arc(n,t,e,s,i,o)}arcByPrecision(n,t,e,s,i,o){const{scaleX:a,scaleY:l}=this._getScale();n=W(n,a),t=W(t,l),this.arc(n,t,e,s,i,o)}arcTo(n,t,e,s,i){this._context.arcTo(n,t,e,s,i)}arcToByPrecision(n,t,e,s,i){const{scaleX:o,scaleY:a}=this._getScale();n=W(n,o),t=W(t,a),e=W(e,o),s=W(s,a),this.arcTo(n,t,e,s,i)}beginPath(){this._context.beginPath()}bezierCurveTo(n,t,e,s,i,o){this._context.bezierCurveTo(n,t,e,s,i,o)}bezierCurveToByPrecision(n,t,e,s,i,o){const{scaleX:a,scaleY:l}=this._getScale();i=W(i,a),o=W(o,l),n=W(n,a),t=W(t,l),e=W(e,a),s=W(s,l),this.bezierCurveTo(n,t,e,s,i,o)}clearRect(n,t,e,s){this._context.clearRect(n,t,e,s)}clearRectByPrecision(n,t,e,s){const{scaleX:i,scaleY:o}=this._getScale();n=W(n,i),t=W(t,o),e=W(e,i),s=W(s,o),this.clearRect(n,t,e,s)}clip(...n){this._context.clip(...n)}closePath(){this._context.closePath()}closePathByEnv(){const t=D.Tools.getSystemType()==="Mac",s=D.Tools.getBrowserType()==="Chrome";t&&s||this._context.closePath()}createImageData(...n){if(n.length===0)throw new Error("arguments is zero");return n.length===1?this._context.createImageData(n[0]):n.length===2?this._context.createImageData(n[0],n[1]):this._context.createImageData(n[0],n[1],n[1])}createLinearGradient(n,t,e,s){return this._context.createLinearGradient(n,t,e,s)}createPattern(n,t){return this._context.createPattern(n,t)}createRadialGradient(n,t,e,s,i,o){return this._context.createRadialGradient(n,t,e,s,i,o)}drawImage(...n){const t=n,e=this._context;t.length===3?e.drawImage(n[0],n[1],n[2]):t.length===5?e.drawImage(n[0],n[1],n[2],n[3],n[4]):t.length===9&&e.drawImage(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8])}ellipse(n,t,e,s,i,o,a,l){this._context.ellipse(n,t,e,s,i,o,a,l)}isPointInPath(...n){return this._context.isPointInPath(...n)}fill(...n){this._context.fill(...n)}fillRect(n,t,e,s){this._context.fillRect(n,t,e,s)}fillRectByPrecision(n,t,e,s){const{scaleX:i,scaleY:o}=this._getScale();n=W(n,i),t=W(t,o),e=W(e,i),s=W(s,o),this.fillRect(n,t,e,s)}strokeRect(n,t,e,s){this._context.strokeRect(n,t,e,s)}strokeRectPrecision(n,t,e,s){const{scaleX:i,scaleY:o}=this._getScale();n=W(n,i),t=W(t,o),e=W(e,i),s=W(s,o),this.strokeRect(n,t,e,s)}fillText(n,t,e,s){s?this._context.fillText(n,t,e,s):this._context.fillText(n,t,e)}fillTextPrecision(n,t,e,s){const{scaleX:i,scaleY:o}=this._getScale();t=W(t,i),e=W(e,o),s?(s=W(s,i),this._context.fillText(n,t,e,s)):this._context.fillText(n,t,e)}measureText(n){return this._context.measureText(n)}getImageData(n,t,e,s){return this._context.getImageData(n,t,e,s)}lineTo(n,t){this._context.lineTo(n,t)}lineToByPrecision(n,t){const{scaleX:e,scaleY:s}=this._getScale();n=W(n,e),t=W(t,s),this.lineTo(n,t)}moveTo(n,t){this._context.moveTo(n,t)}moveToByPrecision(n,t){const{scaleX:e,scaleY:s}=this._getScale();n=W(n,e),t=W(t,s),this.moveTo(n,t)}rect(n,t,e,s){this._context.rect(n,t,e,s)}rectByPrecision(n,t,e,s){const{scaleX:i,scaleY:o}=this._getScale();n=W(n,i),t=W(t,o),e=W(e,i),s=W(s,o),this.rect(n,t,e,s)}putImageData(n,t,e){this._context.putImageData(n,t,e)}quadraticCurveTo(n,t,e,s){this._context.quadraticCurveTo(n,t,e,s)}restore(){this._context.restore()}rotate(n){this._context.rotate(n)}save(){this._context.save()}scale(n,t){this._context.scale(n,t)}setLineDash(n){this._context.setLineDash?this._context.setLineDash(n):"mozDash"in this._context?this._context.mozDash=n:"webkitLineDash"in this._context&&(this._context.webkitLineDash=n)}getLineDash(){return this._context.getLineDash()}setTransform(...n){this._context.setTransform(...n)}stroke(n){n?this._context.stroke(n):this._context.stroke()}strokeText(n,t,e,s){this._context.strokeText(n,t,e,s)}strokeTextByPrecision(n,t,e,s){const{scaleX:i,scaleY:o}=this._getScale();t=W(t,i),e=W(e,o),s&&(s=W(s,i)),this.strokeText(n,t,e,s)}transform(n,t,e,s,i,o){this._context.transform(n,t,e,s,i,o)}translate(n,t){this._context.translate(n,t)}translateWithPrecision(n,t){const{scaleX:e,scaleY:s}=this._getScale();n=W(n,e),t=W(t,s),this._context.translate(n,t)}translateWithPrecisionRatio(n,t){const{scaleX:e,scaleY:s}=this._getScale();this._context.translate(n/e,t/s)}clearRectForTexture(n,t,e,s){this.clearRectByPrecision(n,t,e,s)}setGlobalCompositeOperation(n){this._context.globalCompositeOperation=n}}class Oe{}class we{}class Z7 extends T6{}class q7 extends T6{__getScale(){const n=this.getTransform();return{scaleX:n.a,scaleY:n.d}}clearRect(n,t,e,s){const{scaleX:i,scaleY:o}=this.__getScale();n=W(n,i),t=W(t,o),e=W(e,i),s=W(s,o),this._context.save(),this._context.fillStyle=u1([255,255,255]),this._context.fillRect(n,t,e,s),this._context.restore()}clearRectForTexture(n,t,e,s){}setGlobalCompositeOperation(n){}}var y6=(r=>(r[r.Rendering=0]="Rendering",r[r.Printing=1]="Printing",r))(y6||{});class Q1{constructor(n){h(this,"isCache",!1);h(this,"_pixelRatio",1);h(this,"_canvasEle");h(this,"_context");h(this,"_width",0);h(this,"_height",0);n=n||{},this._canvasEle=u6(),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 t=this._canvasEle.getContext("2d");if(t==null)throw new Error("context is not support");n.mode===1?this._context=new q7(t):this._context=new Z7(t),this.setSize(n.width,n.height,n.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setSize(n,t,e){this._pixelRatio=e||F6(),n&&(this._canvasEle.width=n*this._pixelRatio,this._width=this._canvasEle.width/this._pixelRatio,this._canvasEle.style.width=`${this._width}px`),t&&(this._canvasEle.height=t*this._pixelRatio,this._height=this._canvasEle.height/this._pixelRatio,this._canvasEle.style.height=`${this._height}px`),this.getContext().setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(n){this._width===0||this._height===0||(n<1&&(n=1),this.setSize(this._width,this._height,n))}dispose(){this.clear(),this._canvasEle.remove()}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(n,t){try{return this._canvasEle.toDataURL(n,t)}catch{try{return this._canvasEle.toDataURL()}catch(s){const{message:i}=s;return console.error(`Unable to get data URL. ${i} For more info read https://universheet.net/docs/Canvas.html.`),""}}}}class Ae extends Q1{constructor(n={width:0,height:0}){super(n),this.setSize(n.width,n.height)}}class Re extends Q1{constructor(t={width:0,height:0}){super(t);h(this,"hitCanvas",!0);this.setSize(t.width,t.height)}}class v6 extends w1{constructor(){super(...arguments);h(this,"_extensions",new Map)}get extensions(){return this._extensions}register(...t){const e=new D.DisposableCollection;for(const s of t)s.parent=this,this._extensions.set(s.uKey,s),e.add(D.toDisposable(()=>{this._extensions.delete(s.uKey)}));return e}getExtensionsByOrder(){const t=Array.from(this._extensions.values());return t.sort(D.sortRules),t}getExtensionByKey(t){return this._extensions.get(t)}draw(t,e){}}class $6{constructor(){h(this,"uKey","");h(this,"type");h(this,"Z_INDEX",0);h(this,"parent");h(this,"translateX",0);h(this,"translateY",0);h(this,"extensionOffset",{})}get zIndex(){return this.Z_INDEX}draw(n,t,e,s){}clearCache(){}_getScale(n){return m6(n)}}const z1=D.Registry.create(),B6=D.Registry.create(),O6=D.Registry.create(),t2=D.Registry.create();class w6 extends v6{constructor(n,t){super(n),this._skeleton=t}getSkeleton(){return this._skeleton}updateSkeleton(n){this._skeleton=n}render(n,t){if(!this.visible)return this.makeDirty(!1),this;n.save(),this._draw(n,t),n.restore()}getParentScale(){let{scaleX:n=1,scaleY:t=1}=this.parent;return this.parent.classType===H.SCENE_VIEWER&&(n=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:n,scaleY:t}}getDocuments(){}getNoMergeCellPositionByIndex(n,t){}getScrollXYByRelativeCoords(n){return{x:0,y:0}}getSelectionBounding(n,t,e,s){}_draw(n,t){}}class A6 extends w6{_draw(n,t){this.draw(n,t)}}class Ie extends A6{constructor(t,e){super(t,e);h(this,"_columnHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(t,e){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale();s.calculateSegment(e);const o=s.rowColumnSegment;if(o.startColumn===-1&&o.endColumn===-1)return;const{rowHeaderWidth:a}=s;t.translateWithPrecision(a,0);const l=this.getExtensionsByOrder();for(const u of l)u.draw(t,i,s)}isHit(t){const e=this._getInverseCoord(t),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return e.x>i&&e.y>=0&&e.y<=o}_initialDefaultExtension(){O6.getData().forEach(t=>{this.register(t)}),this._columnHeaderLayoutExtension=this.getExtensionByKey("DefaultColumnHeaderLayoutExtension")}}var Q7=(r=>(r[r.GRID=0]="GRID",r))(Q7||{});class x1 extends $6{constructor(){super(...arguments);h(this,"type",0)}getCellIndex(t,e,s,i,o){return J1(t,e,s,i,o)}isRenderDiffRangesByCell(t,e){if(e==null||e.length===0)return!0;for(const s of e){const{startRow:i,startColumn:o,endRow:a,endColumn:l}=s;if(D.Rectangle.intersects(s,{startRow:i,endRow:a,startColumn:o,endColumn:l}))return!0}return!1}isRenderDiffRangesByColumn(t,e,s){if(s==null||s.length===0)return!0;for(const i of s){const{startColumn:o,endColumn:a}=i;if(D.Rectangle.intersects({startRow:0,endRow:0,startColumn:t,endColumn:e},{startRow:0,endRow:0,startColumn:o,endColumn:a}))return!0}return!1}isRenderDiffRangesByRow(t,e,s){if(s==null||s.length===0)return!0;for(const i of s){const{startRow:o,endRow:a}=i;if(D.Rectangle.intersects({startRow:t,endRow:e,startColumn:0,endColumn:0},{startRow:o,endRow:a,startColumn:0,endColumn:0}))return!0}return!1}}const Pe="DefaultBackgroundExtension",Me=40,Le=20;let t4=class extends x1{constructor(){super(...arguments);h(this,"uKey",Pe);h(this,"Z_INDEX",Me);h(this,"PRINTING_Z_INDEX",Le)}get zIndex(){var t;return(t=this.parent)!=null&&t.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(t,e,s,i){const{stylesCache:o}=s,{background:a,backgroundPositions:l}=o;if(!s)return;const{rowHeightAccumulation:u,columnTotalWidth:c,columnWidthAccumulation:_,rowTotalHeight:f}=s;!u||!_||c===void 0||f===void 0||(t.save(),t.setGlobalCompositeOperation("destination-over"),a&&Object.keys(a).forEach(m=>{const C=a[m];t.fillStyle=m||u1([255,255,255]),t.beginPath(),C.forValue((p,F)=>{const b=l==null?void 0:l.getValue(p,F);if(b==null)return!0;let{startY:T,endY:y,startX:v,endX:$}=b;const{isMerged:B,isMergedMainCell:w,mergeInfo:O}=b;if(B||!this.isRenderDiffRangesByCell({startRow:O.startRow,endRow:O.endRow,startColumn:O.startColumn,endColumn:O.endColumn},i))return!0;w&&(T=O.startY,y=O.endY,v=O.startX,$=O.endX),t.moveToByPrecision(v,T),t.lineToByPrecision(v,y),t.lineToByPrecision($,y),t.lineToByPrecision($,T)}),t.closePath(),t.fill()}),t.restore())}};z1.add(t4);const xe="DefaultBorderExtension",Ne=50;let e4=class extends x1{constructor(){super(...arguments);h(this,"uKey",xe);h(this,"Z_INDEX",Ne)}draw(t,e,s,i){const{dataMergeCache:o,stylesCache:a,overflowCache:l}=s,{border:u}=a;if(!s)return;const{rowHeightAccumulation:c,columnTotalWidth:_,columnWidthAccumulation:f,rowTotalHeight:m}=s;if(!c||!f||_===void 0||m===void 0)return;t.save();let C,p;t.translateWithPrecisionRatio(o1,o1);const F=this._getScale(t.getScale());u==null||u.forValue((b,T,y)=>{if(!y)return!0;const v=this.getCellIndex(b,T,c,f,o),{startY:$,endY:B,startX:w,endX:O}=v,{isMerged:A,isMergedMainCell:I,mergeInfo:R}=v;if(!this.isRenderDiffRangesByRow(R.startRow,R.endRow,i))return!0;for(const x in y){const{type:k,style:N,color:L}=y[x];let Y=$,X=B,G=w,j=O;if(k!==z.TOP&&k!==z.BOTTOM&&k!==z.LEFT&&k!==z.RIGHT){if(A)return!0;I&&(Y=R.startY,X=R.endY,G=R.startX,j=R.endX)}const V=b6(N);N!==C&&(E6(t,N),t.setLineWidthByPrecision(V),C=N),L!==p&&(t.strokeStyle=L||P1,p=L),Y7(t,k,{startX:G,startY:Y,endX:j,endY:X}),!this._getOverflowExclusion(l,k,b,T)&&C6(t,k,(V-1)/2/F,{startX:G,startY:Y,endX:j,endY:X})}}),t.closePath(),t.restore()}_getOverflowExclusion(t,e,s,i){let o=!1;return e===z.TOP||e===z.BOTTOM||t==null||t.forRow((a,l)=>{if(a!==s)return!0;l.forEach(u=>{const c=t.getValue(a,u),{startColumn:_,endColumn:f}=c;if(e===z.LEFT&&i>_&&i<=f||e===z.RIGHT&&i>=_&&i<f)return o=!0,!1})}),o}};z1.add(e4);const ke="DefaultColumnHeaderLayoutExtension";class n4 extends x1{constructor(){super(...arguments);h(this,"uKey",ke);h(this,"Z_INDEX",10)}draw(t,e,s){const{rowColumnSegment:i,columnHeaderHeight:o=0}=s,{startColumn:a,endColumn:l}=i;if(!s)return;const{rowHeightAccumulation:u,columnTotalWidth:c,columnWidthAccumulation:_,rowTotalHeight:f}=s;if(!u||!_||c===void 0||f===void 0)return;const m=this._getScale(e);t.fillStyle=u1([248,249,250]),t.fillRectByPrecision(0,0,c,o),t.textAlign="center",t.textBaseline="middle",t.fillStyle=u1([0,0,0]),t.beginPath(),t.setLineWidthByPrecision(1),t.translateWithPrecisionRatio(o1,o1),t.strokeStyle=u1([217,217,217]),t.font=`13px ${P2}`;let C=0;const p=_.length;for(let b=a-1;b<=l;b++){if(b<0||b>p-1)continue;const T=_[b];if(C===T)continue;t.moveToByPrecision(T,0),t.lineToByPrecision(T,o);const y=C+(T-C)/2;t.fillText(D.numberToABC(b),y,o/2+r6),C=T}const F=o-.5/m;t.moveToByPrecision(0,F),t.lineToByPrecision(c,F),t.stroke()}}O6.add(new n4);function e2(r){return r[r.length-1]}function R6(r){var n;return(n=r.sections)==null?void 0:n[r.sections.length-1]}function He(r){var t;const n=(t=z2(r))==null?void 0:t.column.lines;return n==null?void 0:n[n.length-1]}function Xe(r){return r.lines[r.lines.length-1]}function z2(r){const n=R6(r);for(let t=0;t<n.columns.length;t++){const e=n.columns[t];if(!e.isFull)return{column:e,isLast:t===n.columns.length-1,index:t}}}function Ye(r){const n=He(r);if(n)for(let t=0;t<n.divides.length;t++){const e=n.divides[t];if(!e.isFull)return{divide:e,isLast:t===n.divides.length-1,index:t}}}function ze(r){const n=R6(r),t=n.columns.length;for(let e=0;e<t;e++)if(!n.columns[e].isFull)return!1;return!0}function W1(r,n){if(r instanceof Object){const{v:t,u:e}=r;return e===D.NumberUnitType.POINT?t:t*n}return r}function W2(r=0,n,t=D.GridType.LINES,e=D.BooleanNumber.TRUE){let s=1;return s4(t,e)&&(s=r),s*=n,s}function s4(r=D.GridType.LINES,n=D.BooleanNumber.FALSE){return n===D.BooleanNumber.TRUE&&(r===D.GridType.LINES_AND_CHARS||r===D.GridType.SNAP_TO_CHARS)}function i4(r,n){const{paragraphStyle:t={}}=n,{linePitch:e=15.6,gridType:s=D.GridType.LINES,paragraphLineGapDefault:i=0}=r,{lineSpacing:o=1,spacingRule:a=D.SpacingRule.AUTO,snapToGrid:l=D.BooleanNumber.TRUE}=t;return{paragraphLineGapDefault:i,linePitch:e,gridType:s,lineSpacing:o,spacingRule:a,snapToGrid:l}}function We(r,n){const{paragraphStyle:t={}}=n,{charSpace:e=0,gridType:s=D.GridType.LINES,defaultTabStop:i=36,documentTextStyle:o={}}=r,{fs:a=g7}=o,{snapToGrid:l=D.BooleanNumber.TRUE}=t;return{charSpace:e,documentFontSize:a,defaultTabStop:i,gridType:s,snapToGrid:l}}function I6(r,n=-1){let t=n;for(const e of r){const{sections:s}=e,i=t;let o=i,a=Number.NEGATIVE_INFINITY,l=0;for(const u of s){const{columns:c}=u,_=o;let f=_,m=Number.NEGATIVE_INFINITY,C=0;for(const p of c){const{lines:F}=p,b=f;let T=b,y=0,v=Number.NEGATIVE_INFINITY,$=null;for(const B of F){const{divides:w,lineHeight:O}=B,A=T;let I=A,R=0,x=0;y+=O;const k=w.length;for(let N=0;N<k;N++){const L=w[N],{glyphGroup:Y}=L,X=I;let G=X;for(const j of Y){const V=j.glyphType===m1.LIST?0:j.count;G+=V;const q=j.bBox,{ba:J}=q;x=Math.max(x,J),N===k-1&&(R+=j.width)}N===k-1&&(R+=L.left),Y.length!==0&&(L.st=X+1,L.ed=G>=L.st?G:L.st,I=L.ed)}B.st=A+1,B.ed=I>=B.st?I:B.st,B.width=R,B.asc=x,v=Math.max(v,R),B.top=(($==null?void 0:$.top)||0)+(($==null?void 0:$.lineHeight)||0),$=B,T=B.ed}p.st=b+1,p.ed=T>=p.st?T:p.st,p.height=y,p.width=v,C+=v,m=Math.max(m,p.height),f=p.ed}u.st=_+1,u.ed=f>=u.st?f:u.st,u.height=m,l+=m,a=Math.max(a,C),o=u.ed}e.st=i+1,e.ed=o>=e.st?o:e.st,e.height=l,e.width=a,t=e.ed}}function je(r,n){for(const t of r){const{sections:e}=t;for(const s of e){const{columns:i}=s;for(const o of i){const{lines:a}=o;for(const l of a)n&&c6(n)&&n(l)}}}}function Ge(r,n){for(const t of r){const{sections:e}=t;for(const s of e){const{columns:i}=s;for(const o of i)n&&c6(n)&&n(o)}}}function Ue(r,n,t,e,s=!1){const{relativeFrom:i,align:o,posOffset:a,percent:l}=r;if(o!=null)if(o===D.AlignTypeH.INSIDE||o===D.AlignTypeH.OUTSIDE)i===D.ObjectRelativeFromH.MARGIN||D.ObjectRelativeFromH.PAGE;else{if(i===D.ObjectRelativeFromH.COLUMN){const{width:u,left:c}=n;let _=0;return o===D.AlignTypeH.LEFT?_=c:o===D.AlignTypeH.RIGHT?_=c+u-e:o===D.AlignTypeH.CENTER&&(_=c+u/2-e/2),_}if(i!==D.ObjectRelativeFromH.LEFT_MARGIN){if(i!==D.ObjectRelativeFromH.MARGIN){if(i!==D.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==D.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==D.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===D.ObjectRelativeFromH.PAGE){const{pageWidth:u}=t;let c=0;return o===D.AlignTypeH.RIGHT?c=u-e:o===D.AlignTypeH.CENTER&&(c=u/2-e/2),c}}}}}}}else if(a){const{pageWidth:u,marginLeft:c,marginRight:_}=t,f=u-_;let m=0;return i===D.ObjectRelativeFromH.COLUMN?m=(s?0:(n==null?void 0:n.left)||0)+a:i===D.ObjectRelativeFromH.LEFT_MARGIN||(i===D.ObjectRelativeFromH.MARGIN?m=a+c:i===D.ObjectRelativeFromH.RIGHT_MARGIN||i===D.ObjectRelativeFromH.INSIDE_MARGIN||i===D.ObjectRelativeFromH.OUTSIDE_MARGIN||i===D.ObjectRelativeFromH.PAGE&&(m=a)),m+e>f&&(m=f-e),m}else if(l){const{pageWidth:u,marginLeft:c,marginRight:_}=t;if(i!==D.ObjectRelativeFromH.LEFT_MARGIN){if(i!==D.ObjectRelativeFromH.MARGIN){if(i!==D.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==D.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==D.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===D.ObjectRelativeFromH.PAGE)return l*u}}}}}}}function Ve(r,n,t,e,s,i,o=!1){const{relativeFrom:a,align:l,posOffset:u,percent:c}=r;if(l!=null){if(a===D.ObjectRelativeFromV.LINE){let _=0;return l===D.AlignTypeV.BOTTOM?_=t+e-s:l===D.AlignTypeV.TOP?_=t:l===D.AlignTypeV.CENTER&&(_=t+e/2-s/2),_}if(a!==D.ObjectRelativeFromV.TOP_MARGIN){if(a!==D.ObjectRelativeFromV.MARGIN){if(a!==D.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==D.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==D.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===D.ObjectRelativeFromV.PAGE){const{pageHeight:_}=n;let f=0;return l===D.AlignTypeV.BOTTOM?f=_-s:l===D.AlignTypeV.CENTER&&(f=_/2-s/2),f}}}}}}}else if(u){let _=0;return a===D.ObjectRelativeFromV.LINE?_=t||0+u:a===D.ObjectRelativeFromV.TOP_MARGIN||a===D.ObjectRelativeFromV.MARGIN||a===D.ObjectRelativeFromV.BOTTOM_MARGIN||a===D.ObjectRelativeFromV.INSIDE_MARGIN||a===D.ObjectRelativeFromV.OUTSIDE_MARGIN||(a===D.ObjectRelativeFromV.PAGE?_=u:a===D.ObjectRelativeFromV.PARAGRAPH&&(_=(o?0:i==null?t:i)+u)),_}else if(c){const{pageHeight:_,marginBottom:f,marginTop:m}=n;if(a!==D.ObjectRelativeFromV.TOP_MARGIN){if(a!==D.ObjectRelativeFromV.MARGIN){if(a!==D.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==D.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==D.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===D.ObjectRelativeFromV.PAGE)return c*_}}}}}}}function r4(r){let n=0;for(const t of r.glyphGroup)n+=t.width;return n}const P6=new D.ObjectMatrix;function Ke(){P6.reset()}function T2(r,n,t,e,s){const{startIndex:i}=t,o=n.getTextRun(r+i)||{ts:{},st:0,ed:0},{st:a,ed:l}=o;let{ts:u={}}=o;const c=P6.getValue(a,l);if(c)return c;const{gridType:_=D.GridType.LINES,charSpace:f=0,documentTextStyle:m={},pageSize:C={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginRight:p=0,marginLeft:F=0,localeService:b}=e,{snapToGrid:T=D.BooleanNumber.TRUE}=s;u={...m,...u};const y=d2(u),v={...m,...u},$=C.width||Number.POSITIVE_INFINITY-F-p,B={fontStyle:y,textStyle:v,charSpace:f,gridType:_,snapToGrid:T,pageWidth:$};return P6.setValue(a,l,B),B}var Je=Object.defineProperty,Ze=Object.getOwnPropertyDescriptor,qe=(r,n,t,e)=>{for(var s=e>1?void 0:e?Ze(n,t):n,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(e?o(n,t,s):o(s))||s);return e&&s&&Je(n,t,s),s},Qe=(r,n)=>(t,e)=>n(t,e,r);S.Skeleton=class extends D.Disposable{constructor(t){super();h(this,"_fontLocale");h(this,"_dirty",!0);this._localService=t,this._localeInitial()}get dirty(){return this._dirty}getFontLocale(){return this._fontLocale}makeDirty(t){this._dirty=t}_localeInitial(){}},S.Skeleton=qe([Qe(0,g1.Inject(D.LocaleService))],S.Skeleton);class y2{constructor(){h(this,"_translateX",0);h(this,"_translateY",0);h(this,"_translateSaveList",[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(n=0,t=0){this._translateX=n,this._translateY=t}translate(n=0,t=0){this._translateX+=n,this._translateY+=t}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){const n=this._translateSaveList.pop();n&&(this._translateX=n.x,this._translateY=n.y)}translatePagePadding(n){const{marginTop:t=0,marginBottom:e=0,marginLeft:s=0,marginRight:i=0}=n;this.translate(s,t)}restorePagePadding(n){const{marginTop:t=0,marginBottom:e=0,marginLeft:s=0,marginRight:i=0}=n;this.translate(-s,-t)}translatePage(n,t=v1.VERTICAL,e=0,s=0,i=0,o=0){const{pageWidth:a,pageHeight:l}=n;let u=0,c=0;return t===v1.VERTICAL?u+=l+s:t===v1.HORIZONTAL&&(c+=a+e),this.translate(c,u),{x:c,y:u}}translateSection(n){const{top:t=0}=n;return this.translate(0,t),{x:0,y:t}}translateColumn(n){const{left:t}=n;return this.translate(t,0),{x:t,y:0}}translateLine(n,t=!1){const{top:e,marginBottom:s=0,marginTop:i=0,paddingTop:o=0,paddingBottom:a=0}=n,l=e+(t===!0?i:0)+o;return this.translate(0,l),{x:0,y:l}}translateDivide(n){const{left:t,paddingLeft:e}=n,s=t+e;return this.translate(s,0),{x:s,y:0}}translateSpan(n){const{left:t}=n;return this.translate(t,0),{x:t,y:0}}}function o4(r=[],n=D.ColumnSeparatorType.NONE,t=0,e=0,s=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY){const o=[];let a=0,l=0;if(r.length===0)o.push(M6(e,s,0,D.ColumnSeparatorType.NONE));else for(let c=0;c<r.length;c++){const{width:_,paddingEnd:f}=r[c];l=f,a=_,o.push(M6(e,a,l,n)),e+=a+l,c===r.length-1&&(a=s!==Number.POSITIVE_INFINITY?s-a:_,l=0,o.push(M6(e,a,l,n)))}const u={columns:o,colCount:(r==null?void 0:r.length)||1,height:i,top:t,st:0,ed:0};return o.forEach(c=>{c.parent=u}),u}function a4(r,n){r.isFull=n}function M6(r,n,t,e){return{lines:[],left:r,width:n,height:0,spaceWidth:t,separator:e,st:0,ed:0,drawingLRIds:[],isFull:!1}}function t0(){return[]}class j2{constructor(n,t=!1){this.position=n,this.required=t}}const e0=5,u4=12,n0=13,s0=16,i0=17,r0=22,l4=28,c4=31,o0=33,G2=34,a0=35,L6=36,x6=37,h4=38,u0=39,l0=40,v2=41,c0=42,d=0,g=1,U=2,_4=3,E=4,h0=[[E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,_4,E,E,E,E,E,E,E,E,E,E,E],[d,E,E,g,g,E,E,E,E,g,g,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,g,E,E,E,E,g,g,g,g,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[E,E,E,g,g,g,E,E,E,g,g,g,g,g,g,g,g,g,g,g,E,U,E,g,g,g,g,g,g,g,g,g,g],[g,E,E,g,g,g,E,E,E,g,g,g,g,g,g,g,g,g,g,g,E,U,E,g,g,g,g,g,g,g,g,g,g],[d,E,E,g,g,g,E,E,E,d,d,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,d,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,d,g,d,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,d,g,g,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[g,E,E,g,g,g,E,E,E,d,d,g,g,g,g,g,g,g,d,d,E,U,E,g,g,g,g,g,d,g,g,g,d],[g,E,E,g,g,g,E,E,E,d,d,g,g,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[g,E,E,g,g,g,E,E,E,g,g,g,g,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[g,E,E,g,g,g,E,E,E,g,g,g,g,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[g,E,E,g,g,g,E,E,E,g,g,g,g,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,g,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,d,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,d,g,E,E,E,d,d,g,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,d,g,E,E,E,d,d,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[g,E,E,g,g,g,E,E,E,g,g,g,g,g,g,g,g,g,g,g,E,U,E,g,g,g,g,g,g,g,g,g,d],[d,E,E,g,g,g,E,E,E,d,d,d,d,d,d,g,g,g,d,E,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,d,E,d,d,d,d,d,d,d,d,d,d,d,d],[g,E,E,g,g,g,E,E,E,g,g,g,g,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[g,E,E,g,g,g,E,E,E,g,g,g,g,g,g,g,g,g,g,g,E,U,E,g,g,g,g,g,g,g,g,g,g],[d,E,E,g,g,g,E,E,E,d,g,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,g,g,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,g,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,g,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,g,d,d,d,d,g,g,g,d,d,E,U,E,g,g,g,g,d,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,g,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,g,g,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,g,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,g,d,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,d,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,g,d,d,g,d],[d,E,E,g,g,g,E,E,E,d,g,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,g,g,d],[d,E,E,g,g,g,E,E,E,d,g,d,d,d,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[g,E,E,g,g,g,E,E,E,g,g,g,g,g,d,g,g,g,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d],[d,E,E,g,g,d,E,E,E,d,d,d,d,d,d,d,d,d,d,d,E,U,E,d,d,d,d,d,d,d,d,g,d]];class _0{constructor(){h(this,"_rules",new Map)}add(n,t){this._rules.set(n,t)}shouldBreak(n,t){for(const e of this._rules.values())if(e(n,t))return!0;return!1}}const D0=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]),d0=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,D4=(r,n,t)=>{const e=r[n];r[n]=r[t],r[t]=e},f0=r=>{const n=r.length;for(let t=0;t<n;t+=4)D4(r,t,t+3),D4(r,t+1,t+2)},g0=r=>{d0&&f0(r)},N6=0,d4=-3;class $2{constructor(){h(this,"table",new Uint16Array(16));h(this,"trans",new Uint16Array(288))}}class m0{constructor(n,t){h(this,"source");h(this,"dest");h(this,"sourceIndex");h(this,"tag");h(this,"bitcount");h(this,"destLen");h(this,"ltree");h(this,"dtree");this.source=n,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new $2,this.dtree=new $2}}const f4=new $2,g4=new $2,k6=new Uint8Array(30),H6=new Uint16Array(30),m4=new Uint8Array(30),p4=new Uint16Array(30),p0=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),F4=new $2,$1=new Uint8Array(320);function C4(r,n,t,e){let s,i;for(s=0;s<t;++s)r[s]=0;for(s=0;s<30-t;++s)r[s+t]=s/t|0;for(i=e,s=0;s<30;++s)n[s]=i,i+=1<<r[s]}function F0(r,n){let t;for(t=0;t<7;++t)r.table[t]=0;for(r.table[7]=24,r.table[8]=152,r.table[9]=112,t=0;t<24;++t)r.trans[t]=256+t;for(t=0;t<144;++t)r.trans[24+t]=t;for(t=0;t<8;++t)r.trans[168+t]=280+t;for(t=0;t<112;++t)r.trans[176+t]=144+t;for(t=0;t<5;++t)n.table[t]=0;for(n.table[5]=32,t=0;t<32;++t)n.trans[t]=t}const E4=new Uint16Array(16);function X6(r,n,t,e){let s,i;for(s=0;s<16;++s)r.table[s]=0;for(s=0;s<e;++s)r.table[n[t+s]]++;for(r.table[0]=0,i=0,s=0;s<16;++s)E4[s]=i,i+=r.table[s];for(s=0;s<e;++s)n[t+s]&&(r.trans[E4[n[t+s]]++]=s)}function C0(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);const n=r.tag&1;return r.tag>>>=1,n}function B1(r,n,t){if(!n)return t;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;const e=r.tag&65535>>>16-n;return r.tag>>>=n,r.bitcount-=n,e+t}function Y6(r,n){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;let t=0,e=0,s=0,i=r.tag;do e=2*e+(i&1),i>>>=1,++s,t+=n.table[s],e-=n.table[s];while(e>=0);return r.tag=i,r.bitcount-=s,n.trans[t+e]}function E0(r,n,t){let e,s,i;const o=B1(r,5,257),a=B1(r,5,1),l=B1(r,4,4);for(e=0;e<19;++e)$1[e]=0;for(e=0;e<l;++e){const u=B1(r,3,0);$1[p0[e]]=u}for(X6(F4,$1,0,19),s=0;s<o+a;){const u=Y6(r,F4);switch(u){case 16:{const c=$1[s-1];for(i=B1(r,2,3);i;--i)$1[s++]=c;break}case 17:for(i=B1(r,3,3);i;--i)$1[s++]=0;break;case 18:for(i=B1(r,7,11);i;--i)$1[s++]=0;break;default:$1[s++]=u;break}}X6(n,$1,0,o),X6(t,$1,o,a)}function b4(r,n,t){for(;;){let e=Y6(r,n);if(e===256)return N6;if(e<256)r.dest[r.destLen++]=e;else{let s;e-=257;const i=B1(r,k6[e],H6[e]),o=Y6(r,t),a=r.destLen-B1(r,m4[o],p4[o]);for(s=a;s<a+i;++s)r.dest[r.destLen++]=r.dest[s]}}}function b0(r){let n,t,e;for(;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if(n=r.source[r.sourceIndex+1],n=256*n+r.source[r.sourceIndex],t=r.source[r.sourceIndex+3],t=256*t+r.source[r.sourceIndex+2],n!==(~t&65535))return d4;for(r.sourceIndex+=4,e=n;e;--e)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,N6}function S4(r,n){const t=new m0(r,n);let e,s,i;do{switch(e=C0(t),s=B1(t,2,0),s){case 0:i=b0(t);break;case 1:i=b4(t,f4,g4);break;case 2:E0(t,t.ltree,t.dtree),i=b4(t,t.ltree,t.dtree);break;default:i=d4}if(i!==N6)throw new Error("Data error")}while(!e);return t.destLen<t.dest.length?typeof t.dest.slice=="function"?t.dest.slice(0,t.destLen):t.dest.subarray(0,t.destLen):t.dest}F0(f4,g4),C4(k6,H6,4,3),C4(m4,p4,2,1),k6[28]=0,H6[28]=258;const z6=11,j1=5,S0=z6-j1,T0=65536>>z6,y0=(1<<S0)-1,U2=2,W6=(1<<j1)-1,T4=65536>>j1,v0=1024>>j1,$0=T4+v0+32,B0=1<<U2;class O0{constructor(n){h(this,"highStart");h(this,"errorValue");h(this,"data");const t=typeof n.readUInt32BE=="function"&&typeof n.slice=="function";if(t||n instanceof Uint8Array){let e;if(t)this.highStart=n.readUInt32LE(0),this.errorValue=n.readUInt32LE(4),e=n.readUInt32LE(8),n=n.slice(12);else{const s=new DataView(n.buffer);this.highStart=s.getUint32(0,!0),this.errorValue=s.getUint32(4,!0),e=s.getUint32(8,!0),n=n.subarray(12)}n=S4(n,new Uint8Array(e)),n=S4(n,new Uint8Array(e)),g0(n),this.data=new Uint32Array(n.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=n)}get(n){let t;return n<0||n>1114111?this.errorValue:n<55296||n>56319&&n<=65535?(t=(this.data[n>>j1]<<U2)+(n&W6),this.data[t]):n<=65535?(t=(this.data[T4+(n-55296>>j1)]<<U2)+(n&W6),this.data[t]):n<this.highStart?(t=this.data[$0-T0+(n>>z6)],t=this.data[t+(n>>j1&y0)],t=(t<<U2)+(n&W6),this.data[t]):this.data[this.data.length-B0]}}const w0=new O0(D0);function j6(r){switch(r){case o0:return u4;case u0:case l0:case c0:return u4;case a0:return e0;default:return r}}function G6(r){switch(r){case x6:case h4:return G2;case v2:return r0;default:return r}}class A0{constructor(n){h(this,"_pos",0);h(this,"_lastPos",0);h(this,"_curClass",null);h(this,"_codePoint",null);h(this,"_nextClass",null);h(this,"_LB8a",!1);h(this,"_LB21a",!1);h(this,"_LB30a",0);h(this,"_rule",new _0);this.string=n}use(n){return n(this),this}addRule(n,t){return this._rule.add(n,t),this}nextBreak(){if(this._curClass==null){const n=this._nextCharClass();this._curClass=G6(n),this._nextClass=n,this._LB8a=n===c4,this._LB30a=0}for(;this._pos<this.string.length;){this._lastPos=this._pos;const n=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===G2||this._curClass===L6&&this._nextClass!==x6)return this._curClass=G6(j6(this._nextClass)),new j2(this._lastPos,!0);if(this._rule.shouldBreak(this._codePoint,this._nextClass))return this._curClass=G6(j6(this._nextClass)),new j2(this._lastPos);let t=this._getSimpleBreak();if(t===null&&(t=this._getPairTableBreak(n)),this._LB8a=this._nextClass===c4,t)return new j2(this._lastPos)}return this._lastPos<this.string.length?(this._lastPos=this.string.length,new j2(this.string.length)):null}_getNextCodePoint(){const n=this.string.charCodeAt(this._pos++),t=this.string.charCodeAt(this._pos);return n>=55296&&n<=56319&&t>=56320&&t<=57343?(this._pos++,(n-55296)*1024+(t-56320)+65536):n}_nextCharClass(){const n=this._getNextCodePoint(),t=w0.get(n);return this._codePoint=n,j6(t)}_getSimpleBreak(){switch(this._nextClass){case v2:return!1;case G2:case x6:case h4:return this._curClass=G2,!1;case L6:return this._curClass=L6,!1}return null}_getPairTableBreak(n){let t=!1;switch(h0[this._curClass][this._nextClass]){case d:t=!0;break;case g:t=n===v2;break;case U:if(t=n===v2,!t)return t=!1,t;break;case _4:if(n!==v2)return t;break}return this._LB8a&&(t=!1),this._LB21a&&(this._curClass===s0||this._curClass===i0)?(t=!1,this._LB21a=!1):this._LB21a=this._curClass===n0,this._curClass===l4?(this._LB30a++,this._LB30a===2&&this._nextClass===l4&&(t=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,t}}const R0=9;function I0(r){r.addRule("break_before_tab",n=>n===R0)}function y4(r){return[" "," "," "].includes(r)}function v4(r){return y4(r)||f2(r)||x2(r)||N2(r)||g6(r)}function U6(r,n){return y4(r)?{stretchability:[0,n/2],shrinkability:[0,n/3]}:x2(r)?{stretchability:[0,0],shrinkability:[0,n/2]}:N2(r)?{stretchability:[0,0],shrinkability:[n/2,0]}:g6(r)?{stretchability:[0,0],shrinkability:[n/4,n/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function P0(r,n,t){return V6(m1.WORD,r,n,t)}function V2(r,n,t){return V6(m1.LETTER,r,n,t)}function M0(r,n){return V6(m1.TAB,D.DataStreamTreeTokenType.TAB,r,n)}function V6(r,n,t,e){const{fontStyle:s,textStyle:i,charSpace:o=1,gridType:a=D.GridType.LINES,snapToGrid:l=D.BooleanNumber.FALSE}=t,u=[D.DataStreamTreeTokenType.SECTION_BREAK,D.DataStreamTreeTokenType.TABLE_START,D.DataStreamTreeTokenType.TABLE_END,D.DataStreamTreeTokenType.TABLE_ROW_START,D.DataStreamTreeTokenType.TABLE_ROW_END,D.DataStreamTreeTokenType.TABLE_CELL_START,D.DataStreamTreeTokenType.TABLE_CELL_END,D.DataStreamTreeTokenType.CUSTOM_RANGE_START,D.DataStreamTreeTokenType.CUSTOM_RANGE_END,D.DataStreamTreeTokenType.COLUMN_BREAK,D.DataStreamTreeTokenType.PAGE_BREAK,D.DataStreamTreeTokenType.DOCS_END,D.DataStreamTreeTokenType.CUSTOM_BLOCK];let c=D.DataStreamTreeTokenType.LETTER;if(u.indexOf(n)>-1)return{content:"",ts:i,fontStyle:s,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:U6(n,0),glyphType:m1.PLACEHOLDER,streamType:n,count:1};n===D.DataStreamTreeTokenType.PARAGRAPH&&(c=D.DataStreamTreeTokenType.PARAGRAPH);const _=M1.getTextSize(n,s),{width:f=0}=_;let m=e!=null?e:f,C=0;return s4(a,l)&&(m=f+(g2(n)?o:o/2),a===D.GridType.SNAP_TO_CHARS&&(C=(m-f)/2)),{content:n,ts:i,fontStyle:s,width:m,bBox:_,xOffset:C,left:0,glyphType:r,streamType:c,isJustifiable:v4(n),adjustability:U6(n,m),count:n.length}}function L0(r,n,t){const{bBox:e,symbol:s,ts:i,fontStyle:o,bulletAlign:a=D.BulletAlignment.START,bulletType:l=!1}=n,u=e.width,c=Math.ceil(u/t);let _=(c<2?2:c)*t,f=0;l&&(a===D.BulletAlignment.CENTER?(f=-u/2,_-=f):a===D.BulletAlignment.END&&(f=-u,_-=f));const m=x0(r,n);return{content:s,ts:i,fontStyle:o,width:_,xOffset:0,bBox:m,left:f,isJustifiable:v4(s),adjustability:U6(s,_),glyphType:m1.LIST,streamType:D.DataStreamTreeTokenType.LETTER,count:0}}function $4(r,n=0){const t=r.length;let e;for(let s=0;s<t;s++){const i=r[s];i.left=e?e.left+e.width:n,e=i}}function K6(r,n,t=0){$4(n,t);for(const e of n)e.parent=r;r.glyphGroup.push(...n)}function x0(r,n){const{ba:t,bd:e}=r.bBox,{ba:s,bd:i}=n.bBox;return t+e>s+i?r.bBox:n.bBox}function B4(r,n){r.width-=n,r.adjustability.shrinkability[1]-=n}function O4(r,n){r.width-=n,r.xOffset-=n,r.adjustability.shrinkability[0]-=n}function N0(r,n,t,e,s,i){const o=[];let a=0;for(let l=0;l<n.length;l++){const u=n[l];if(I7(u)||D6(n.substring(l)))break;const c=T2(r+l,t,e,s,i),_=V2(u,c);o.push(_),a++}return{step:a,glyphGroup:o}}function k0(r,n,t,e,s,i){const o=T2(r,t,e,s,i),a=[];let l=0;for(let u=0;u<n.length;u++){const c=n[u];if(d6(c))a.unshift(c),l++;else break}return{step:l,glyphGroup:[V2(a.join(""),o)]}}function H0(r,n,t,e,s,i){const o=T2(r,t,e,s,i),a=n.match(R7);return{step:a[0].length,glyphGroup:[V2(a[0],o)]}}function X0(r,n,t,e,s,i){const o=T2(r,t,e,s,i),a=[];let l=0;for(let u=0;u<n.length;u++){const c=n[u];if(f6(c))a.push(c),l++;else break}return{step:l,glyphGroup:[P0(a.join(""),o)]}}function Y0(r){const n=r.length;for(let t=0;t<n-1;t++){const e=r[t],s=r[t+1],{width:i,content:o}=e,a=i/2;if(_6(o)&&_6(s.content)&&e.adjustability.shrinkability[1]+s.adjustability.shrinkability[0]>=a){const l=Math.min(e.adjustability.shrinkability[1],a);B4(e,l),O4(s,a-l)}}}function z0(r){const n=r.flatMap(i=>i.glyphs);let t=null;const e=n.length,s=/[a-z\d]/i;for(let i=0;i<e;i++){const o=n[i],a=i<e-1?n[i+1]:null,{width:l}=o;f2(o.content)&&a&&s.test(a.content)&&(o.width+=l/4,o.adjustability.shrinkability[1]+=l/8),f2(o.content)&&t&&s.test(t.content)&&(o.width+=l/4,o.xOffset+=l/4,o.adjustability.shrinkability[0]+=l/8),t=o}}function W0(r,n,t,e,s){var m;const{gridType:i=D.GridType.LINES,charSpace:o=0,defaultTabStop:a=10.5}=e,{snapToGrid:l=D.BooleanNumber.TRUE}=s,u=[],c=new A0(r);let _=0,f;for(I0(c);f=c.nextBreak();){const C=r.slice(_,f.position);let p=C,F=_;const b=[];for(;p.length>0;){const T=(m=p.match(/^[\s\S]/gu))==null?void 0:m[0];if(T==null)break;if(/\s/.test(T)||g2(T)){const y=T2(F,n,t,e,s);let v;if(T===D.DataStreamTreeTokenType.TAB){const $=W2(o,a,i,l);v=M0(y,$)}else v=V2(T,y);b.push(v),F+=T.length,p=p.substring(T.length)}else if(D6(p)){const{step:y,glyphGroup:v}=H0(F,p,n,t,e,s);b.push(...v),F+=y,p=p.substring(y)}else if(d6(T)){const{step:y,glyphGroup:v}=k0(F,p,n,t,e,s);b.push(...v),F+=y,p=p.substring(y)}else if(f6(T)){const{step:y,glyphGroup:v}=X0(F,p,n,t,e,s);b.push(...v),F+=y,p=p.substring(y)}else{const{step:y,glyphGroup:v}=N0(F,p,n,t,e,s);b.push(...v),F+=y,p=p.substring(y)}}Y0(b),u.push({text:C,glyphs:b}),_=f.position}return z0(u),u}function B2(r,n,t=1,e=Z1.SECTION){var a1,C1,E1,f1;const s=j0(),{pageNumberStart:i=1,pageSize:o={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},pageOrient:a=D.PageOrientType.PORTRAIT,headerIds:l={},footerIds:u={},useFirstPageHeaderFooter:c,useEvenPageHeaderFooter:_,footerTreeMap:f,headerTreeMap:m,columnProperties:C=[],columnSeparatorType:p,marginTop:F=0,marginBottom:b=0,marginHeader:T=0,marginFooter:y=0,marginLeft:v=0,marginRight:$=0,renderConfig:B={}}=r,{skeHeaders:w,skeFooters:O}=n,{width:A=Number.POSITIVE_INFINITY,height:I=Number.POSITIVE_INFINITY}=o;s.pageNumber=t,s.pageNumberStart=i,s.renderConfig=B,s.marginLeft=v,s.marginRight=$,s.breakType=e,s.pageWidth=A,s.width=0,s.pageHeight=I,s.height=0,s.pageOrient=a;const{defaultHeaderId:R,evenPageHeaderId:x,firstPageHeaderId:k}=l,{defaultFooterId:N,evenPageFooterId:L,firstPageFooterId:Y}=u;let X=R!=null?R:"",G=N!=null?N:"";t===i&&c?(X=k!=null?k:"",G=Y!=null?Y:""):t%2===0&&_&&(X=x!=null?x:"",G=L!=null?L:"");let j,V;X&&((a1=w.get(X))!=null&&a1.has(A)?j=(C1=w.get(X))==null?void 0:C1.get(A):m&&m.has(X)&&(j=w4(m.get(X),r,n),w.set(X,new Map([[A,j]]))),s.headerId=X),G&&((E1=O.get(G))!=null&&E1.has(A)?V=(f1=O.get(G))==null?void 0:f1.get(A):f&&f.has(G)&&(V=w4(f.get(G),r,n),O.set(X,new Map([[A,V]]))),s.footerId=G),s.marginTop=A4(F,T,j),s.marginBottom=A4(b,y,V);const q=s.sections,J=q[q.length-1],{marginTop:s1,marginBottom:d1,marginLeft:l1,marginRight:e1}=s,K=A-l1-e1,c1=I-s1-d1;let Q=0;J&&(Q=J.top+J.height);const i1=o4(C,p,Q,0,K,c1-Q);return i1.parent=s,q.push(i1),s}function j0(){return{sections:[],headerId:"",footerId:"",pageWidth:0,pageHeight:0,pageOrient:D.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,breakType:Z1.SECTION,st:0,ed:0,skeDrawings:new Map}}function w4(r,n,t,e=!0){const{lists:s,footerTreeMap:i,headerTreeMap:o,localeService:a,pageSize:l,marginLeft:u=0,marginRight:c=0,drawings:_,marginTop:f=0,marginBottom:m=0,marginHeader:C=0,marginFooter:p=0}=n,F=(l==null?void 0:l.width)||Number.POSITIVE_INFINITY,b={lists:s,footerTreeMap:i,headerTreeMap:o,pageSize:{width:F-u-c,height:Number.POSITIVE_INFINITY},localeService:a,drawings:_},T=B2(b,t),y=W4(r,r.children[0],T,b,t).pages[0];I6([y]);const v=y.sections[0].columns[0],$=v.height||0,{skeDrawings:B,st:w,ed:O}=y,A={lines:v.lines,skeDrawings:B,height:$,st:w,ed:O,marginLeft:u,marginRight:c};return e?{...A,marginTop:G0(f,C,$)}:{...A,marginBottom:U0(m,p,$)}}function A4(r,n,t){return!t||t.lines.length===0?r:Math.max(r,n,(t==null?void 0:t.height)||0)}function G0(r,n,t){const e=Math.max(r,n);return t>e?0:e-t}function U0(r,n,t){const e=Math.max(r,n);return t>e?0:e-t}function V0(r,n,t,e,s=0,i=!1,o,a,l){const{lineHeight:u=15.6,lineTop:c=0,contentHeight:_=0,paddingLeft:f=0,paddingRight:m=0,paddingTop:C=0,paddingBottom:p=0,marginTop:F=0,spaceBelowApply:b=0}=t,T=e3(n,r);T.lineIndex=s,T.paragraphStart=i,T.contentHeight=_,T.top=c,T.lineHeight=u,T.paddingTop=C,T.paddingBottom=p,T.marginTop=F,T.spaceBelowApply=b,T.divides=J0(u,c,e,f,m,o,a,l);for(const y of T.divides)y.parent=T;return T}function K0(r=15.6,n=0,t,e,s){let i=n;return e==null||e.forEach(o=>{const a=J6(o,r,n);a&&(i=Math.max(i,a))}),s==null||s.forEach(o=>{const a=J6(o,r,n);a&&(i=Math.max(i,a))}),t==null||t.forEach(o=>{const a=J6(o,r,n);a&&(i=Math.max(i,a))}),i}function J6(r,n,t){const{aTop:e,height:s,aLeft:i,width:o,angle:a=0,drawingOrigin:l}=r,{layoutType:u,distT:c=0,distB:_=0}=l;if(u!==D.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(a===0){const C=e-c,p=s+_;return C+p<t||C>n+t?void 0:C+s}let{top:f=0,height:m=0}=R4(a,i,o,e,s);if(f-=c,m+=_,!(f+m<t||f>n+t))return f+m}function J0(r,n,t,e,s,i,o,a){const l=[];return l.push({left:0,width:e},{left:t-s,width:s}),o==null||o.forEach((u,c)=>{const _=Z6(u,r,n,t);_&&l.push(_)}),a==null||a.forEach((u,c)=>{const _=Z6(u,r,n,t);_&&l.push(_)}),i==null||i.forEach((u,c)=>{const _=Z6(u,r,n,t);_&&l.push(_)}),t3(t,l)}function Z0(r,n){r.isFull=n}function Z6(r,n,t,e){const{aTop:s,height:i,aLeft:o,width:a,angle:l=0,drawingOrigin:u}=r,{layoutType:c}=u;if(c===D.PositionedObjectLayoutType.WRAP_NONE||c===D.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(c===D.PositionedObjectLayoutType.WRAP_POLYGON){const{start:f=[0,0],lineTo:m}=u;if(!m)return;const C=[];C.push(new P(f[0],f[1]));for(let p=0;p<m.length;p++){const F=m[p];C.push(new P(F[0],F[1]))}if(l!==0){const p=new r1().rotate(l);for(let F=0;F<C.length;F++){const b=C[F];C[F]=p.applyPoint(b)}}return I4(C,t,n,e)}if(l===0)return P4(s,i,o,a,t,n,e,u);const _=R4(l,o,a,s,i);if(c===D.PositionedObjectLayoutType.WRAP_SQUARE){const{left:f,width:m,top:C,height:p}=_;return P4(C,p,f,m,t,n,e,u)}return I4(_.points,t,n,e)}function R4(r,n,t,e,s){const i=new r1().rotate(r),o=new P(n,e),a=new P(n,e+s),l=new P(n+t,e),u=new P(n+t,e+s);return i.makeBoundingBoxFromPoints([o,a,l,u])}function I4(r,n,t,e){const s=new V7(r),i=s.intersection([new P(0,n),new P(e,n)]),o=s.intersection([new P(0,n+t),new P(e,n+t)]);if(!i&&!o)return;const a=q0([...r,...i||[],...o||[]]);return{left:a.min,width:a.max}}function q0(r,n=0){const t=[];for(let e=0;e<r.length;e++){const s=r[e];n===0?t.push(s.x):t.push(s.y)}return{max:Math.max(...t),min:Math.min(...t)}}function P4(r,n,t,e,s,i,o,a){const{layoutType:l,wrapText:u=D.WrapTextType.BOTH_SIDES,distL:c=0,distR:_=0,distT:f=0,distB:m=0}=a,C=r-(l===D.PositionedObjectLayoutType.WRAP_SQUARE?f:0),p=n+(l===D.PositionedObjectLayoutType.WRAP_SQUARE?m:0);if(C+p<s||C>i+s)return;let F=t-c,b=e+_;const T=Q0(u,F,b,o);return T===1?b=o-F:T===2&&(F=0,b=t+e+_),{left:F,width:b}}function Q0(r,n,t,e){let s=0;return r===D.WrapTextType.LEFT?s=1:r===D.WrapTextType.RIGHT?s=2:r===D.WrapTextType.LARGEST&&(n>e-n-t?s=1:s=2),s}function t3(r,n){n.sort((i,o)=>i.left>o.left?1:-1);const t=[];let e=0;const s=n.length;for(let i=0;i<s;i++){const o=n[i],{left:a,width:l}=o;if(a>e){let u=a-e;u=u<r?u:r-e;const c=M4(e,u);t.push(c)}if(e=Math.max(a+l,e),i===s-1&&a+l<r){const u=M4(a+l,r-a-l);t.push(u)}}return t}function M4(r,n){return{glyphGroup:[],width:n,left:r,paddingLeft:0,isFull:!1,st:0,ed:0}}function e3(r,n){return{paragraphIndex:n,type:r,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,lineIndex:0,paragraphStart:!1}}function n3(r,n,t,e){if(e)if(e.has(r)){const s=e.get(r);s==null||s.elements.push(n)}else e.set(r,{elements:[n],paragraphIndex:r,top:t})}function s3(r,n,t,e,s=!1){if(s)if(e.bulletSkeleton){const{bulletSkeleton:i,paragraphStyle:o={}}=e,{gridType:a=D.GridType.LINES,charSpace:l=0,defaultTabStop:u=1}=t,{snapToGrid:c=D.BooleanNumber.TRUE}=o,_=W2(l,u,a,c),f=L0(r[0],i,_);G1([f,...r],n,t,e,s)}else G1(r,n,t,e,s);else K2(r,n,t,e,s);return[...n]}function K2(r,n,t,e,s=!1,i){var l;const o=e2(n),a=Ye(o);if(a){const u=k4(r),{divide:c}=a,_=(l=c==null?void 0:c.glyphGroup)==null?void 0:l[c.glyphGroup.length-1],f=(_==null?void 0:_.width)||0,m=(_==null?void 0:_.left)||0,C=f+m;if(C+u>c.width)if(Z0(c,!0),a.isLast&&r.length===1&&(r[0].content===D.DataStreamTreeTokenType.SPACE||r[0].content===D.DataStreamTreeTokenType.PARAGRAPH))K6(c,r,C);else if((c==null?void 0:c.glyphGroup.length)===0){const p=[];for(;r.length;)if(p.push(r.shift()),k4(p)>c.width){p.length>1&&r.unshift(p.pop());break}K6(c,p,C),r.length&&G1(r,n,t,e,s,i)}else G1(r,n,t,e,s,i);else{const p=c.parent,F=u3(r);if(p&&F&&!c3(p)){const{paragraphLineGapDefault:b,linePitch:T,lineSpacing:y,spacingRule:v,snapToGrid:$,gridType:B}=i4(t,e),{boundingBoxAscent:w,boundingBoxDescent:O}=F,A=w+O,{contentHeight:I}=N4(A,b,T,B,y,v,$);if(p.contentHeight<I){const R=l3(p),x=R.length;let k=[],N=1;x>2&&R[0].glyphType===m1.LIST?(k=[R[0],R[1]],N=2):k=[R[0]];const L=p.parent,{paragraphStart:Y}=L==null?void 0:L.lines.pop();G1(k,n,t,e,Y,w+O);for(let X=N;X<R.length;X++)K2([R[X]],n,t,e,s);K2(r,n,t,e,s);return}}K6(c,r,C)}}else G1(r,n,t,e,s,i)}function G1(r,n,t,e,s=!1,i){var k1,K1,a2,I1,u2;let o=e2(n),a=z2(o);if((!a||!a.column)&&(x4(r,n,t,e),o=e2(n),a=z2(o)),!a)return;const l=a.column;if(l.width<=0){console.error("The column width is less than 0, need to adjust page width to make it great than 0");return}const u=Xe(l),c=Math.max(...r.map(H1=>H1.bBox.ba)),_=Math.max(...r.map(H1=>H1.bBox.bd)),f=i||c+_,{paragraphStyle:m={},paragraphAffectSkeDrawings:C,skeHeaders:p,skeFooters:F,drawingAnchor:b,paragraphIndex:T}=e,{spaceAbove:y=0,spaceBelow:v=0,indentFirstLine:$=0,hanging:B=0,indentStart:w=0,indentEnd:O=0}=m,{paragraphLineGapDefault:A,linePitch:I,lineSpacing:R,spacingRule:x,snapToGrid:k,gridType:N}=i4(t,e),{paddingTop:L,paddingBottom:Y,contentHeight:X,lineSpacingApply:G}=N4(f,A,I,N,R,x,k),{marginTop:j,spaceBelowApply:V}=r3(G,y,v,s,u),q=j+L+X+Y;let J=l.parent;J||(J=R6(o));const s1=(u==null?void 0:u.lineHeight)||0,d1=(u==null?void 0:u.top)||0,l1=s1+d1,{pageWidth:e1,headerId:K,footerId:c1}=o,Q=(K1=(k1=p==null?void 0:p.get(K))==null?void 0:k1.get(e1))==null?void 0:K1.skeDrawings,i1=(I1=(a2=F==null?void 0:F.get(c1))==null?void 0:a2.get(e1))==null?void 0:I1.skeDrawings;o3(l1,q,l,(u2=b==null?void 0:b.get(T))==null?void 0:u2.top,C);const a1=K0(q,l1,o.skeDrawings,Q,i1);if(q+a1>J.height&&l.lines.length>0&&o.sections.length>0){a4(l,!0),L4(r,n,t,e,s,i);return}const C1=u?u.lineIndex+1:0,{charSpace:E1,defaultTabStop:f1}=We(t,e),R1=W2(E1,f1,N,k),{paddingLeft:V1,paddingRight:o2}=i3($,B,w,O,R1,s),_1=V0(T,F2.PARAGRAPH,{lineHeight:q,contentHeight:X,lineTop:a1,paddingLeft:V1,paddingRight:o2,paddingTop:L,paddingBottom:Y,marginTop:j,spaceBelowApply:V},l.width,C1,s,o.skeDrawings,Q,i1);l.lines.push(_1),_1.parent=l,n3(T,_1,l1,b),K2(r,n,t,e,s,i)}function L4(r,n,t,e,s=!1,i){const o=e2(n);ze(o)===!0?x4(r,n,t,e,s,i):G1(r,n,t,e,s,i)}function x4(r,n,t,e,s=!1,i){const o=e2(n),{skeHeaders:a,skeFooters:l}=e;n.push(B2(t,{skeHeaders:a,skeFooters:l},o==null?void 0:o.pageNumber)),L4(r,n,t,e,s,i)}function i3(r=0,n=0,t=0,e=0,s,i=!1){const o=W1(r,s),a=W1(n,s),l=W1(t,s),u=W1(e,s);let c=l;const _=u;return o>0&&i&&(c+=o),a>0&&!i&&(c+=a),{paddingLeft:c,paddingRight:_}}function r3(r=0,n=0,t=0,e,s){let i=0,o=0;if(!e)return{marginTop:i,spaceBelowApply:o};if(i=W1(n,r),o=W1(t,r),s){const{spaceBelowApply:a}=s;a>i&&(i=0,s.lineHeight+=a,s.marginBottom=a)}return{marginTop:i,spaceBelowApply:o}}function N4(r,n,t,e,s,i,o){let a=n,l=n;if(e===D.GridType.DEFAULT||o===D.BooleanNumber.FALSE)return i===D.SpacingRule.AUTO?{paddingTop:a,paddingBottom:l,contentHeight:s*r,lineSpacingApply:r}:{paddingTop:a,paddingBottom:l,contentHeight:Math.max(s,r),lineSpacingApply:s};let u=0;return i===D.SpacingRule.AUTO?u=s*t:u=s,r+n*2<u&&(a=l=(u-r)/2),{paddingTop:a,paddingBottom:l,contentHeight:r,lineSpacingApply:u}}function o3(r,n,t,e,s){var l;if(!s)return;const i=(l=t.parent)==null?void 0:l.parent;if(!i)return;const o=new Map,a=a3(t);s.forEach(u=>{if(!u)return;const{initialState:c,drawingOrigin:_}=u;if(c||!_)return;const{objectTransform:f}=_,{positionH:m,positionV:C,size:p,angle:F}=f,{width:b=0,height:T=0}=p;u.aLeft=Ue(m,t,i,b,a)||0,u.aTop=Ve(C,i,r,n,T,e,a)||0,u.width=b,u.height=T,u.angle=F,u.initialState=!0,o.set(u.objectId,u)}),i.skeDrawings=new Map([...i.skeDrawings,...o])}function a3(r){const n=r.parent;if(!n)return!1;const t=n==null?void 0:n.columns;if(!t)return!1;const e=t.length;for(let s=e-1;s>=0;s--){const o=t[s].lines,a=o.length;if(!(a<=0)){for(let l=a-1;l>=0;l--)if(o[l].paragraphStart)return!1}}return!0}function k4(r){const n=r.length;let t=0;for(let e=0;e<n;e++){const s=r[e];t+=s.width}return t}function u3(r){const n=r.length;let t=Number.NEGATIVE_INFINITY,e;for(let s=0;s<n;s++){const i=r[s],{ba:o,bd:a}=i.bBox;t<o+a&&(e={boundingBoxAscent:o,boundingBoxDescent:a}),t=o+a}return e}function l3(r){const n=r.divides,t=n.length,e=[];for(let s=0;s<t;s++){const i=n[s];e.push(...i.glyphGroup)}return e}function c3(r){return!r.divides[0].glyphGroup[0]}function h3(r,n,t,e,s){return[]}function _3(r,n,t){return D3(r,n,t)}function D3(r,n,t){return t===D.GlyphType.DECIMAL?H4(r,n):t===D.GlyphType.ZERO_DECIMAL?d3(r,n):t===D.GlyphType.UPPER_ALPHA?f3(r,n):t===D.GlyphType.ALPHA?g3(r,n):t===D.GlyphType.UPPER_ROMAN?m3(r,n):t===D.GlyphType.ROMAN?p3(r,n):H4(r,n)}function H4(r,n){return(r+n).toString()}function d3(r,n){const t=r+n;return t<10?`0${t}`:t.toString()}function f3(r,n){return D.numberToListABC(r+n-1,!0)}function g3(r,n){return D.numberToListABC(r+n-1,!1)}function m3(r,n){return X4(r+n,!0)}function p3(r,n){return X4(r+n,!1)}function X4(r,n=!1){const t={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 s={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};n&&(s=t);let i="";for(const o in s)for(;r>=s[o];)i+=o,r-=s[o];return i}function F3(r,n,t,e){var _,f;if(!r||!n)return;const{listId:s,listType:i,nestingLevel:o=0,textStyle:a}=r,l=n[i];return!l||!l.nestingLevel?Y4(s,(_=t==null?void 0:t[o])==null?void 0:_.startIndexItem):l.nestingLevel[o]?C3(s,o,l.nestingLevel,t,a):Y4(s,(f=t==null?void 0:t[o])==null?void 0:f.startIndexItem)}function Y4(r,n=1){return{listId:r,symbol:"●",ts:{ff:"Arial",fs:9},startIndexItem:n,bBox:{width:8.4560546875,ba:7,bd:-1,aba:7,abd:-1,sp:-2,sbr:.5,sbo:0,spr:.5,spo:0},indentFirstLine:0,hanging:21,indentStart:0}}function C3(r,n,t,e,s,i){var $,B;const o=t[n],{bulletAlignment:a,glyphFormat:l,textStyle:u,startNumber:c,glyphType:_,glyphSymbol:f,indentFirstLine:m,hanging:C,indentStart:p}=o,F={...s,...u},b=d2(F);let T;f?T=f:T=E3(l,n,t,e);const y=M1.getTextSize(T,b),v=(B=($=e==null?void 0:e[n])==null?void 0:$.startIndexItem)!=null?B:1;return{listId:r,symbol:T,ts:F,fontStyle:b,startIndexItem:v+1,bBox:y,nestingLevel:o,bulletAlign:a,bulletType:f?!1:!!_,indentFirstLine:m,hanging:C,indentStart:p}}function E3(r,n,t,e){var a;const s=r.split("%"),o=[s[0]];for(let l=1;l<s.length;l++){const u=s[l],{level:c,suffix:_}=S3(u);let f=((a=e==null?void 0:e[c])==null?void 0:a.startIndexItem)||1;c!==n&&(e==null?void 0:e[c])!==null&&(f-=1);const m=b3(f,t[c]);o.push(m,_)}return o.join("")}function b3(r=1,n){const{startNumber:t,glyphType:e,glyphSymbol:s}=n;return s||(e?_3(r,t,e):"●")}function S3(r){if(r==="")return{level:0,suffix:""};const n=r.split("");let t="",e="",s=!1;const i=/[0-9]/g;return n.forEach(o=>{!s&&i.test(`${t}${o}`)?t+=o:(s=!0,e+=o)}),{level:Number.parseInt(t)-1,suffix:e}}function T3(r,n){if(!r||!n)return;const{listId:t,nestingLevel:e}=r,s=n==null?void 0:n.get(t);let i=e;i<0&&(i=0);const o=[];for(let a=i;a>=0;a--){const l=s==null?void 0:s[a];o[a]=l||null}return o}function y3(r,n,t){if(!r||!n)return;const{listId:e,nestingLevel:s}=r,i=[...(t==null?void 0:t.get(e))||[]];i[s]=n,i.splice(s+1),t==null||t.set(e,i)}function v3(r){return{objectId:r.objectId,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:r}}function z4(r){return r.pageNumber+1}function $3(r,n,t,e,s,i){const{lists:o,drawings:a={},localeService:l}=s,{endIndex:u,startIndex:c,blocks:_=[]}=e,f=t.getParagraph(u)||{startIndex:0},{paragraphStyle:m={},bullet:C}=f,{skeHeaders:p,skeFooters:F,skeListLevel:b,drawingAnchor:T}=i,y=new Map,v={paragraphIndex:u,paragraphStyle:m,paragraphAffectSkeDrawings:y,skeHeaders:p,skeFooters:F,drawingAnchor:T},$=T3(C,b),B=F3(C,o,$);y3(C,B,b),v.bulletSkeleton=B;const w=new Map;for(let R=0,x=_.length;R<x;R++){const k=_[R],N=t.getCustomBlock(k);if(N==null)continue;w.set(k,N);const L=N.blockId,Y=a[L];Y.layoutType!==D.PositionedObjectLayoutType.INLINE&&y.set(L,v3(Y))}let O=[n],A=!0,I=c;for(const{text:R,glyphs:x}of r){I+=R.length;const k=()=>{x.length!==0&&(O=s3(x,O,s,v,A),A=!1)};if(R.endsWith(D.DataStreamTreeTokenType.CUSTOM_BLOCK)){let N=w.get(I);if(N==null&&(N=t.getCustomBlock(I)),N!=null){const L=N.blockId;a[L].layoutType===D.PositionedObjectLayoutType.INLINE&&(O=h3())}k();continue}else if(R.endsWith(D.DataStreamTreeTokenType.PAGE_BREAK)){k(),O.push(B2(s,i,z4(O[O.length-1]),Z1.PAGE)),y.clear();continue}else if(R.endsWith(D.DataStreamTreeTokenType.COLUMN_BREAK)){k();const N=O[O.length-1],L=z2(N);L&&!L.isLast?a4(L.column,!0):O.push(B2(s,i,z4(N),Z1.COLUMN));continue}k()}return O}function B3(r){switch(r){case"–":case"—":return .2;case".":case",":return .8;case":":case";":return .3;case"،":case"۔":return .4;default:return 0}}function O3(r){const{glyphGroup:n}=r;let t=0;for(const e of n){const[s,i]=e.adjustability.shrinkability;t+=s+i}return t}function w3(r){const{glyphGroup:n}=r;let t=0;for(const e of n){const[s,i]=e.adjustability.stretchability;t+=s+i}return t}function A3(r){const n=r.glyphGroup.filter(e=>e.isJustifiable).length,t=r.glyphGroup[r.glyphGroup.length-1];return g2(t.content)?n-1:n}function R3(r,n,t){for(const e of r.glyphGroup){const s=n<0?e.adjustability.shrinkability[0]:e.adjustability.stretchability[0],i=n<0?e.adjustability.shrinkability[1]:e.adjustability.stretchability[1],o=s*n;let a=i*n;e.isJustifiable&&(a+=t),e.width+=o+a,e.xOffset+=o}$4(r.glyphGroup)}function I3(r,n){const{divides:t}=r;for(let e=0;e<t.length;e++){const s=t[e],{width:i}=s;let o=r4(s);if(i!==Number.POSITIVE_INFINITY){if(s.isFull){let a=i-o;if(s.glyphGroup.length>1){const f=s.glyphGroup[s.glyphGroup.length-1],m=B3(f.content)*f.width;a+=m}let l=0,u=0;const c=O3(s),_=w3(s);if(a<0&&c>0)l=Math.max(a/c,-1),a=Math.min(a+c,0);else if(n===D.HorizontalAlign.JUSTIFIED){_>0&&(l=Math.min(a/_,1),a=Math.max(a-_,0));const f=A3(s);f>0&&a>0&&(u=a/f,a=0)}(l!==0||u!==0)&&(R3(s,l,u),o=r4(s))}n===D.HorizontalAlign.CENTER?s.paddingLeft=(i-o)/2:n===D.HorizontalAlign.RIGHT&&(s.paddingLeft=i-o)}}}function P3(r){for(const n of r.divides){const t=n.glyphGroup[n.glyphGroup.length-1];if(n.isFull&&f2(t.content)&&t.width-t.xOffset>t.bBox.width){const e=t.width-t.xOffset-t.bBox.width;t.width-=e,t.adjustability.shrinkability[1]=0}}}function M3(r){for(const n of r.divides){const t=n.glyphGroup.length;if(t<2)continue;const e=n.glyphGroup[0],s=n.glyphGroup[t-1];if(N2(e.content)){const i=e.adjustability.shrinkability[0];O4(e,i)}if(x2(s.content)){const i=s.adjustability.shrinkability[1];B4(s,i)}}}function L3(r,n){je(r,t=>{if(t.paragraphIndex!==n.startIndex)return;const{paragraphStyle:e={}}=n,{horizontalAlign:s=D.HorizontalAlign.UNSPECIFIED}=e;M3(t),P3(t),I3(t,s)})}function x3(r,n,t,e,s){Ke();const{endIndex:i,content:o=""}=n,a=r.getParagraph(i)||{startIndex:0},{paragraphStyle:l={}}=a,u=W0(o,r,n,e,l),c=$3(u,t,r,n,e,s);return L3(c,a),c}function W4(r,n,t,e,s,i){const o=[],a=new Map;for(const l of n.children){let u=[],c=t;o.length>0&&(c=o[o.length-1]),l.nodeType===D.DataStreamTreeNodeType.PARAGRAPH?u=x3(r,l,c,e,s):(l.nodeType,D.DataStreamTreeNodeType.TABLE),u.length===0&&(u=t0()),N3(o,u)}return{pages:o,renderedBlockIdMap:a}}function N3(r,n){const t=r.length-1,e=r[t],s=n[0];e===s&&n.splice(0,1),r.push(...n)}const k3={columnProperties:[],columnSeparatorType:D.ColumnSeparatorType.NONE,sectionType:D.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0};class n2 extends S.Skeleton{constructor(t,e){super(e);h(this,"_skeletonData");h(this,"_renderedBlockIdMap",new Map);h(this,"_findLiquid",new y2);this._docViewModel=t}static create(t,e){return new n2(t,e)}getViewModel(){return this._docViewModel}calculate(t){this.dirty&&(this._skeletonData=this._createSkeleton(t))}getSkeletonData(){return this._skeletonData}getActualSize(){const t=this.getSkeletonData();let e=Number.NEGATIVE_INFINITY,s=0;return t==null||t.pages.forEach(i=>{const{width:o,height:a}=i;e=Math.max(e,o),s+=a}),{actualWidth:e,actualHeight:s}}_getPageActualWidth(t){let e=Number.NEGATIVE_INFINITY;for(const s of t.sections)for(const i of s.columns)for(const o of i.lines){let a=0;for(const l of o.divides)for(const u of l.glyphGroup)a+=u.width;e=Math.max(e,a)}return e}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(t){const e=t.parent,s=e==null?void 0:e.parent,i=s==null?void 0:s.parent,o=i==null?void 0:i.parent,a=o==null?void 0:o.parent,l=this.getSkeletonData();if(!e||!i||!o||!a||!l)return;const u=e.glyphGroup.indexOf(t),c=s.divides.indexOf(e),_=i.lines.indexOf(s),f=o.columns.indexOf(i),m=a.sections.indexOf(o),C=l.pages.indexOf(a);return{glyph:u,divide:c,line:_,column:f,section:m,page:C}}findNodePositionByCharIndex(t,e=!0){const s=this._findNodeIterator(t);if(s==null)return;const i=this.getSkeletonData();if(!i)return;const o=i.pages,{glyph:a,divide:l,line:u,column:c,section:_,page:f}=s;return{glyph:l.glyphGroup.indexOf(a),divide:u.divides.indexOf(l),line:c.lines.indexOf(u),column:_.columns.indexOf(c),section:f.sections.indexOf(_),page:o.indexOf(f),isBack:e}}findNodeByCharIndex(t){const e=this._findNodeIterator(t);return e==null?void 0:e.glyph}findGlyphByPosition(t){if(t==null)return;const e=this.getSkeletonData();if(e==null)return;const{divide:s,line:i,column:o,section:a,page:l,isBack:u}=t;let{glyph:c}=t;u===!0&&(c-=1),c=c<0?0:c;const _=e.pages[l].sections[a].columns[o].lines[i].divides[s].glyphGroup;return _[c].glyphType===m1.LIST?_[c+1]:_[c]}findNodeByCoord(t,e,s,i){const{x:o,y:a}=t;this._findLiquid.reset();const l=this.getSkeletonData();if(l==null)return;const u=l.pages;let c=[],_=[],f=Number.POSITIVE_INFINITY;for(let m=0,C=u.length;m<C;m++){const p=u[m];this._findLiquid.translatePagePadding(p);const F=p.sections;for(const b of F){const{columns:T,height:y}=b;this._findLiquid.translateSection(b);for(const v of T){const{lines:$,width:B}=v;this._findLiquid.translateColumn(v);const w=$.length;for(let O=0;O<w;O++){const A=$[O],{divides:I,type:R,lineHeight:x=0}=A;if(R!==F2.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(A);const{y:k}=this._findLiquid,N=k,L=k+x,Y=Math.abs(a-L),X=I.length;for(let G=0;G<X;G++){const j=I[G],{glyphGroup:V,width:q}=j;this._findLiquid.translateSave(),this._findLiquid.translateDivide(j);const{x:J}=this._findLiquid;for(const s1 of V){if(!s1.content||s1.content.length===0)continue;const{width:d1,left:l1}=s1,e1=J+l1,K=J+l1+d1,c1=Math.abs(o-K);if(a>=N&&a<=L){if(o>=e1&&o<=K)return{node:s1,ratioX:o/(e1+K),ratioY:a/(N+L)};f!==Number.NEGATIVE_INFINITY&&(c=[],_=[]),c.push({node:s1,ratioX:o/(e1+K),ratioY:a/(N+L)}),_.push(c1),f=Number.NEGATIVE_INFINITY;continue}Y<f&&(f=Y,c=[],_=[]),Y===f&&(c.push({node:s1,ratioX:o/(e1+K),ratioY:a/(N+L)}),_.push(c1))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}}}this._findLiquid.restorePagePadding(p),this._translatePage(p,e,s,i)}return this._getNearestNode(c,_)}_getNearestNode(t,e){const s=Math.min(...e),i=e.indexOf(s);return t[i]}_getPageBoundingBox(t,e){const{pageWidth:s,pageHeight:i}=t,{x:o,y:a}=this._findLiquid;let l=-1,u=-1;return e===v1.VERTICAL?(l=s,u=a+i):e===v1.HORIZONTAL&&(l=o+s,u=i),{startX:o,startY:a,endX:l,endY:u}}_translatePage(t,e,s,i){this._findLiquid.translatePage(t,e,s,i)}_createSkeleton(t){var c1;const e={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},s=this.getViewModel(),{headerTreeMap:i,footerTreeMap:o}=s,{documentStyle:a,drawings:l,lists:u={}}=s.getDataModel(),c={...D.PRESET_LIST_TYPE,...u},{pageNumberStart:_=1,pageSize:f=e,pageOrient:m=D.PageOrientType.PORTRAIT,defaultHeaderId:C,defaultFooterId:p,evenPageHeaderId:F,evenPageFooterId:b,firstPageHeaderId:T,firstPageFooterId:y,useFirstPageHeaderFooter:v,useEvenPageHeaderFooter:$,marginTop:B=0,marginBottom:w=0,marginRight:O=0,marginLeft:A=0,marginHeader:I=0,marginFooter:R=0,charSpace:x=0,linePitch:k=15.6,gridType:N=D.GridType.LINES,paragraphLineGapDefault:L=0,defaultTabStop:Y=10.5,textStyle:X={},renderConfig:G={horizontalAlign:D.HorizontalAlign.LEFT,verticalAlign:D.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:D.WrapStrategy.UNSPECIFIED}}=a,j={headerTreeMap:i,footerTreeMap:o,lists:c,drawings:l,charSpace:x,linePitch:k,gridType:N,localeService:this._localService,paragraphLineGapDefault:L,defaultTabStop:Y,documentTextStyle:X},V=this._getNullSke(),{skeHeaders:q,skeFooters:J,skeListLevel:s1,drawingAnchor:d1}=V,l1={skeHeaders:q,skeFooters:J,skeListLevel:s1,drawingAnchor:d1},e1=[];V.pages=e1;const K=this.getViewModel();K.resetCache();for(let Q=0,i1=K.children.length;Q<i1;Q++){const a1=K.children[Q],C1=K.getSectionBreak(a1.endIndex)||k3,{pageNumberStart:E1=_,pageSize:f1=f,pageOrient:R1=m,marginTop:V1=B,marginBottom:o2=w,marginRight:_1=O,marginLeft:k1=A,marginHeader:K1=I,marginFooter:a2=R,defaultHeaderId:I1=C,defaultFooterId:u2=p,evenPageHeaderId:H1=F,evenPageFooterId:n6=b,firstPageHeaderId:l7=T,firstPageFooterId:c7=y,useFirstPageHeaderFooter:A2=v,useEvenPageHeaderFooter:R2=$,columnProperties:I2=[],columnSeparatorType:s6=D.ColumnSeparatorType.NONE,contentDirection:h7,sectionType:l2,textDirection:W8,renderConfig:j8=G}=C1,_7=K.children[Q+1],Tt=(c1=K.getSectionBreak(_7==null?void 0:_7.endIndex))==null?void 0:c1.sectionType,G8={defaultHeaderId:I1,evenPageHeaderId:H1,firstPageHeaderId:l7},U8={defaultFooterId:u2,evenPageFooterId:n6,firstPageFooterId:c7};f1.width===null&&(f1.width=Number.POSITIVE_INFINITY),f1.height===null&&(f1.height=Number.POSITIVE_INFINITY);const yt={pageNumberStart:E1,pageSize:f1,pageOrient:R1,marginTop:V1,marginBottom:o2,marginRight:_1,marginLeft:k1,marginHeader:K1,marginFooter:a2,headerIds:G8,footerIds:U8,useFirstPageHeaderFooter:A2,useEvenPageHeaderFooter:R2,columnProperties:I2,columnSeparatorType:s6,contentDirection:h7,sectionType:l2,sectionTypeNext:Tt,textDirection:W8,renderConfig:j8,...j};let c2=e2(e1),vt=!1;l2===D.SectionType.CONTINUOUS?(I6(e1),this._addNewSectionByContinuous(c2,I2,s6),vt=!0):c2=B2(yt,l1,c2==null?void 0:c2.pageNumber);const V8=W4(K,a1,c2,yt,l1,this._renderedBlockIdMap);Tt===D.SectionType.CONTINUOUS&&I2.length>0;const{pages:$t}=V8;vt&&$t.splice(0,1),e1.push(...$t)}return I6(e1),this._setPageParent(e1,V),V}_setPageParent(t,e){for(const s of t)s.parent=e}_addNewSectionByContinuous(t,e,s){const i=t.sections,o=i[i.length-1],{pageWidth:a,pageHeight:l,marginTop:u,marginBottom:c,marginLeft:_,marginRight:f}=t,m=a-_-f,C=l-u-c,p=((o==null?void 0:o.top)||0)+((o==null?void 0:o.height)||0),F=o4(e,s,p,0,m,C-p);F.parent=t,i.push(F)}_getNullSke(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}_findNodeIterator(t){const e=this.getSkeletonData();if(!e)return;const s=e.pages;for(const i of s){const{sections:o,st:a,ed:l}=i;if(!(t<a||t>l))for(const u of o){const{columns:c,st:_,ed:f}=u;if(!(t<_||t>f))for(const m of c){const{lines:C,st:p,ed:F}=m;if(!(t<p||t>F))for(const b of C){const{divides:T,st:y,ed:v}=b,$=T.length;if(!(t<y||t>v))for(let B=0;B<$;B++){const w=T[B],{glyphGroup:O,st:A,ed:I}=w;if(t<A||t>I)continue;let R=t-A;for(const x of O)if(R-=x.count,R<0)return{page:i,section:u,column:m,line:b,divide:w,glyph:x}}}}}}}}class A1{constructor(n,t){h(this,"children",[]);h(this,"parent");h(this,"startIndex",-1);h(this,"endIndex",-1);h(this,"blocks",[]);this.nodeType=n,this.content=t}static create(n,t){return new A1(n,t)}dispose(){this.children.forEach(n=>{n.dispose()}),this.parent=null,this.blocks=[]}getProps(){const{children:n,parent:t,startIndex:e,endIndex:s,nodeType:i,content:o}=this;return{children:n,parent:t,startIndex:e,endIndex:s,nodeType:i,content:o}}addBlocks(n){this.blocks=this.blocks.concat(n)}setIndexRange(n,t){this.startIndex=n,this.endIndex=t}insertText(n,t){this.content=D.insertTextToContent(this.content||"",t-this.startIndex,n)}exclude(n){const{startIndex:t,endIndex:e}=this;return n<t||n>e}plus(n){this.startIndex+=n,this.endIndex+=n,this._addIndexForBlock(n)}selfPlus(n,t){this.endIndex+=n,t==null&&(t=this.startIndex),this._addIndexForBlock(n,t)}split(n){const{children:t,parent:e,startIndex:s,nodeType:i,content:o=""}=this.getProps();if(this.exclude(n))return;const a=0,l=n-s,u=l,c=o.slice(a,l),_=A1.create(i,c);_.parent=e,_.setIndexRange(a,l-1);const f=o.slice(u),m=A1.create(i,f);m.parent=e,m.setIndexRange(u,u+f.length-1);const C=[],p=[];for(const F of t){const{startIndex:b}=F;if(F.exclude(n))n<b?C.push(F):p.push(F);else{const T=F.split(n);if(T==null){C.push(F);continue}const{firstNode:y,lastNode:v}=T;C.push(y),C.push(v)}}return _.children=C,m.children=p,_._resetBlocks(),m._resetBlocks(),{firstNode:_,lastNode:m}}getPositionInParent(){var t;const n=(t=this.parent)==null?void 0:t.children.indexOf(this);return n==null?-1:n}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(n,t){const e=D.horizontalLineSegmentsSubtraction(this.startIndex,this.endIndex,n,t);if(e.length===0)return;const s=this.startIndex;this.startIndex=e[0],this.endIndex=e[1],this.content!=null&&(this.content=D.deleteContent(this.content||"",n-s,t-s+1))}merge(n){const{startIndex:t,endIndex:e,children:s}=n;this.endIndex+=e-t+1,this.children.push(...s),this.content+=n.content||"",n.remove()}_addIndexForBlock(n,t=Number.NEGATIVE_INFINITY){for(let e=0,s=this.blocks.length;e<s;e++){const i=this.blocks[e];i>=t&&(this.blocks[e]=i+n)}}_resetBlocks(){if(this.nodeType===D.DataStreamTreeNodeType.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let n=0,t=this.content.length;n<t;n++)this.content[n]===D.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+n)}}}class N1{constructor(n){h(this,"children",[]);h(this,"_sectionBreakCurrentIndex",0);h(this,"_paragraphCurrentIndex",0);h(this,"_textRunCurrentIndex",0);h(this,"_customBlockCurrentIndex",0);h(this,"_tableBlockCurrentIndex",0);h(this,"_customRangeCurrentIndex",0);h(this,"headerTreeMap",new Map);h(this,"footerTreeMap",new Map);this._documentDataModel=n,n.getBody()!=null&&(this.children=this._transformToTree(n.getBody().dataStream),this._buildHeaderFooterViewModel())}dispose(){this.children.forEach(n=>{n.dispose()})}selfPlus(n,t){}getPositionInParent(){return 0}getLastIndex(){return this.children[this.children.length-1].endIndex}getBody(){return this._documentDataModel.getBody()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(n){return n==null?this:this.headerTreeMap.has(n)?this.headerTreeMap.get(n):this.footerTreeMap.has(n)?this.footerTreeMap.get(n):this}reset(n){this._documentDataModel=n,this.children=this._transformToTree(n.getBody().dataStream),this._buildHeaderFooterViewModel()}insert(n,t=0){var o;const e=n.dataStream;let s=e.length;const i=this._getParagraphByIndex(this.children,t);if(i!=null)if(e[s-1]===D.DataStreamTreeTokenType.SECTION_BREAK){const a=new D.DocumentDataModel({body:n}),l=new N1(a);s-=1;const u=l.children;for(const m of u)this._forEachDown(m,C=>{C.plus(t)});const c=i.split(t);if(c==null)return;const{firstNode:_,lastNode:f}=c;(o=i.parent)==null||o.children.splice(i.getPositionInParent(),1,_,...u,f),this._forEachTop(i.parent,m=>{m.selfPlus(s,m.getPositionInParent());const C=m.children;let p=!1;for(const F of C)F===f&&(p=!0),p&&this._forEachDown(F,b=>{b.plus(s)})})}else s===1&&e[s-1]===D.DataStreamTreeTokenType.PARAGRAPH?this._insertParagraph(i,t):(i.insertText(e,t),i.selfPlus(s,t),this._forEachTop(i.parent,a=>{a.selfPlus(s,a.getPositionInParent());const l=a.children;let u=!1;for(const c of l)c.startIndex>t&&(u=!0),u&&this._forEachDown(c,_=>{_.plus(s)})}))}delete(n,t){const e=this.children;this._deleteTree(e,n,t)}getText(){const n=[];function t(e){e.content&&n.push(e.content),e.children.forEach(t)}return this.children.forEach(e=>t(e)),n.join("")}resetCache(){this._sectionBreakCurrentIndex=0,this._paragraphCurrentIndex=0,this._textRunCurrentIndex=0,this._customBlockCurrentIndex=0,this._tableBlockCurrentIndex=0,this._customRangeCurrentIndex=0}getSectionBreak(n){if(n==null)return;const t=this.getBody().sectionBreaks;if(t!=null)for(let e=this._sectionBreakCurrentIndex;e<t.length;e++){const s=t[e];if(s.startIndex===n)return this._sectionBreakCurrentIndex=e,s}}getParagraph(n){const t=this.getBody().paragraphs;if(t!=null)for(let e=this._paragraphCurrentIndex;e<t.length;e++){const s=t[e];if(s.startIndex===n)return this._paragraphCurrentIndex=e,s}}getTextRunRange(n=0,t){const e=this.getBody().textRuns;if(e==null)return[{st:n,ed:t}];const s=[];for(let a=this._textRunCurrentIndex,l=e.length;a<l;a++){const u=e[a];if(u.st>t){this._textRunCurrentIndex=a;break}else if(u.ed<n){this._textRunCurrentIndex=a;continue}else s.push({st:u.st<n?n:u.st,ed:u.ed>t?t:u.ed,sId:u.sId,ts:u.ts}),this._textRunCurrentIndex=a}const i=s[0]||{st:t+1};i.st>n&&s.push({st:n,ed:i.st-1});const o=s[s.length-1]||{ed:n-1};return o.ed<t&&s.push({st:o.ed+1,ed:t}),s}getTextRun(n){const t=this.getBody().textRuns;if(t==null)return;const e=t[this._textRunCurrentIndex];if(e!=null){if(n>=e.st&&n<e.ed)return e;if(n<e.st)return}for(let s=this._textRunCurrentIndex,i=t.length;s<i;s++){const o=t[s];if(n>=o.st&&n<o.ed)return this._textRunCurrentIndex=s,o}}getCustomBlock(n){const t=this.getBody().customBlocks;if(t!=null)for(let e=this._customBlockCurrentIndex;e<t.length;e++){const s=t[e];if(s.startIndex===n)return this._customBlockCurrentIndex=e,s}}getTable(n){const t=this.getBody().tables;if(t!=null)for(let e=this._tableBlockCurrentIndex;e<t.length;e++){const s=t[e];if(s.startIndex===n)return this._tableBlockCurrentIndex=e,s}}getCustomRange(n){const t=this.getBody().customRanges;if(t!=null)for(let e=0,s=t.length;e<s;e++){const i=t[e];if(n>=i.startIndex&&n<=i.endIndex)return i}}_transformToTree(n){const t=n.length;let e="";const s=[];let i=[],o=[];for(let a=0;a<t;a++){const l=n[a];if(l===D.DataStreamTreeTokenType.PARAGRAPH){e+=D.DataStreamTreeTokenType.PARAGRAPH;const u=A1.create(D.DataStreamTreeNodeType.PARAGRAPH,e);u.setIndexRange(a-e.length+1,a),u.addBlocks(o),i.push(u),e="",o=[]}else if(l===D.DataStreamTreeTokenType.SECTION_BREAK){const u=A1.create(D.DataStreamTreeNodeType.SECTION_BREAK);this._batchParent(u,i);const c=i[i.length-1];c&&c.content&&(c.content+=D.DataStreamTreeTokenType.SECTION_BREAK),s.push(u),i=[]}else l===D.DataStreamTreeTokenType.TABLE_START?i.push(A1.create(D.DataStreamTreeNodeType.TABLE)):l===D.DataStreamTreeTokenType.TABLE_ROW_START?i.push(A1.create(D.DataStreamTreeNodeType.TABLE_ROW)):l===D.DataStreamTreeTokenType.TABLE_CELL_START?i.push(A1.create(D.DataStreamTreeNodeType.TABLE_CELL)):l===D.DataStreamTreeTokenType.TABLE_END?this._processPreviousNodesUntil(i,D.DataStreamTreeNodeType.TABLE):l===D.DataStreamTreeTokenType.TABLE_ROW_END?this._processPreviousNodesUntil(i,D.DataStreamTreeNodeType.TABLE_ROW):l===D.DataStreamTreeTokenType.TABLE_CELL_END?this._processPreviousNodesUntil(i,D.DataStreamTreeNodeType.TABLE_CELL):(l===D.DataStreamTreeTokenType.CUSTOM_BLOCK&&o.push(a),e+=l)}return s}_processPreviousNodesUntil(n,t){const e=[];let s=n.pop();for(;s&&s.nodeType!==t;)e.push(s),s=n.pop();const i=n[n.length-1];if(this._batchParent(i,e,D.DataStreamTreeNodeType.TABLE),t===D.DataStreamTreeNodeType.TABLE_CELL){const o=e[0],a=e[e.length];o.content=D.DataStreamTreeTokenType.TABLE_CELL_START+o.content||"",o.startIndex-=1,a.content+=D.DataStreamTreeTokenType.TABLE_CELL_END,a.endIndex+=1}else if(t===D.DataStreamTreeNodeType.TABLE_ROW){const o=e[0].children[0];let a=e[e.length];a=a.children[a.children.length-1],o.content=D.DataStreamTreeTokenType.TABLE_ROW_START+o.content||"",o.startIndex-=1,a.content+=D.DataStreamTreeTokenType.TABLE_ROW_END,a.endIndex+=1}else if(t===D.DataStreamTreeNodeType.TABLE){const o=e[0].children[0].children[0];let a=e[e.length];a=a.children[a.children.length-1],a=a.children[a.children.length-1],o.content=D.DataStreamTreeTokenType.TABLE_START+o.content||"",o.startIndex-=1,a.content+=D.DataStreamTreeTokenType.TABLE_END,a.endIndex+=1}}_batchParent(n,t,e=D.DataStreamTreeNodeType.SECTION_BREAK){for(const i of t)i.parent=n,n.children.push(i);const s=e===D.DataStreamTreeNodeType.SECTION_BREAK?0:1;n.setIndexRange(t[0].startIndex-s,t[t.length-1].endIndex+1)}_buildHeaderFooterViewModel(){const{headerModelMap:n,footerModelMap:t}=this._documentDataModel;for(const[e,s]of n)this.headerTreeMap.set(e,new N1(s));for(const[e,s]of t)this.footerTreeMap.set(e,new N1(s))}_getParagraphByIndex(n,t){for(const e of n){const{children:s}=e;if(!e.exclude(t))return e.nodeType===D.DataStreamTreeNodeType.PARAGRAPH?e:this._getParagraphByIndex(s,t)}return null}_forEachTop(n,t){let e=n;for(;e;)t(e),e=e.parent;t(this)}_forEachDown(n,t){t(n);const e=n.children;for(n of e)this._forEachDown(n,t)}_deleteTree(n,t,e){const s=t,i=t+e-1;let o=null,a=n.length,l=0;for(;l<a;){const u=n[l],{startIndex:c,endIndex:_,children:f}=u;if(this._deleteTree(f,t,e),s===i&&i===_){if(u.nodeType===D.DataStreamTreeNodeType.PARAGRAPH){const m=this._getNextNode(u);if(m==null){l++;continue}u.minus(s,i),u.merge(m),a--}}else if(s<=c&&i>=_){u.remove(),a--;continue}else if(c<=s&&_>=i)u.minus(s,i);else if(i>c&&i<_){if(u.minus(c,i),o!=null){o.merge(u),o=null,a--;continue}}else s>c&&s<_?(u.minus(s,_),o=u):c>i&&u.plus(-e);l++}}_getNextNode(n){var s;const t=n.getPositionInParent(),e=(s=n.parent)==null?void 0:s.children;return e==null?void 0:e[t+1]}_insertParagraph(n,t=0){var l;const e=n.startIndex,s=n.endIndex,i=n.split(t);if(i==null)return;const{firstNode:o,lastNode:a}=i;o.content+=D.DataStreamTreeTokenType.PARAGRAPH,o.selfPlus(1),o.plus(e),this._forEachDown(a,u=>{u.plus(e+1)}),(l=n.parent)==null||l.children.splice(n.getPositionInParent(),1,o,a),this._forEachTop(n.parent,u=>{u.selfPlus(1,u.getPositionInParent());const c=u.children;let _=!1;for(const f of c)f!==a&&(f.startIndex>=s+1&&(_=!0),_&&this._forEachDown(f,m=>{m.plus(1)}))})}}var H3=Object.defineProperty,X3=Object.getOwnPropertyDescriptor,Y3=(r,n,t,e)=>{for(var s=e>1?void 0:e?X3(n,t):n,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(e?o(n,t,s):o(s))||s);return e&&s&&H3(n,t,s),s},j4=(r,n)=>(t,e)=>n(t,e,r);function O2(r,n=0){const t=r==null?void 0:r.getSkeletonData(),e=y1(n);if(!t)return;const{pages:s}=t,i=s[s.length-1],{width:o,height:a}=i;if(e===0)return{width:o,height:a};if(Math.abs(e)===Math.PI/2)return{width:a,height:o};let l=0,u=0;const c=[];Ge([i],f=>{const{lines:m,width:C,spaceWidth:p}=f,{rotatedHeight:F,rotatedWidth:b}=S6(m,C,e);u+=F,c.push({rotatedWidth:b,spaceWidth:p})});const _=c.length;for(let f=0;f<_;f++){const{rotatedWidth:m}=c[f];f===0&&(l+=m)}return{width:l,height:u}}const G4={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},U4={t:0,b:0,l:2,r:2},V4="RENDER_RAW_FORMULA";S.SpreadsheetSkeleton=class extends S.Skeleton{constructor(t,e,s,i,o,a){super(o);h(this,"_rowHeightAccumulation",[]);h(this,"_columnWidthAccumulation",[]);h(this,"_rowTotalHeight",0);h(this,"_columnTotalWidth",0);h(this,"_rowHeaderWidth",0);h(this,"_columnHeaderHeight",0);h(this,"_rowColumnSegment",{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});h(this,"_dataMergeCache",[]);h(this,"_overflowCache",new D.ObjectMatrix);h(this,"_stylesCache",{background:{},backgroundPositions:new D.ObjectMatrix,font:{},border:new D.ObjectMatrix});h(this,"_renderedCellCache",new D.ObjectMatrix);h(this,"_showGridlines",D.BooleanNumber.TRUE);h(this,"_marginTop",0);h(this,"_marginLeft",0);h(this,"_renderRawFormula",!1);this._worksheet=t,this._config=e,this._cellData=s,this._styles=i,this._contextService=a,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._rowColumnSegment}get dataMergeCache(){return this._dataMergeCache}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get mergeData(){return this._config.mergeData}get rowHeaderWidthAndMarginLeft(){return this.rowHeaderWidth+this._marginLeft}get columnHeaderHeightAndMarginTop(){return this.columnHeaderHeight+this._marginTop}get worksheet(){return this._worksheet}static create(t,e,s,i,o,a){return new S.SpreadsheetSkeleton(t,e,s,i,o,a)}getCellData(){return this._cellData}getsStyles(){return this._styles}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(V4).pipe(Z.startWith(!1),Z.distinctUntilChanged()).subscribe(t=>{this._renderRawFormula=t,this._resetCache(),this.makeDirty(!0)}))}setOverflowCache(t){this._overflowCache=t}setMarginLeft(t){this._marginLeft=t}setMarginTop(t){this._marginTop=t}calculateSegment(t){if(this._config&&(this._updateLayout(),!(!this._rowHeightAccumulation||!this._columnWidthAccumulation)))return t!=null&&(this._rowColumnSegment=this.getRowColumnSegment(t)),!0}calculateWithoutClearingCache(t){if(!this.calculateSegment(t))return;const{mergeData:e}=this._config;return this._dataMergeCache=e&&this._getMergeCells(e,this._rowColumnSegment),this._calculateStylesCache(),this}calculate(t){return this._resetCache(),this.calculateWithoutClearingCache(t),this}calculateAutoHeightInRange(t){var a;if(!D.Tools.isArray(t))return[];const e=[],{mergeData:s,rowData:i}=this._config,o=i;for(const l of t){const{startRow:u,endRow:c,startColumn:_,endColumn:f}=l;for(let m=u;m<=c;m++){if(e.some(({row:p})=>p===m)||((a=o[m])==null?void 0:a.ia)===D.BooleanNumber.FALSE)continue;if(L7(m,_,f,s)){const p=this._calculateRowAutoHeight(m);e.push({row:m,autoHeight:p})}}}return e}_calculateRowAutoHeight(t){var c,_,f;const{columnCount:e,columnData:s,mergeData:i,defaultRowHeight:o,defaultColumnWidth:a}=this._config;let l=o;const u=this._worksheet;if(!u)return l;for(let m=0;m<e;m++){const{isMerged:C,isMergedMainCell:p}=p2(t,m,i);if(C||p)continue;const F=u.getCell(t,m);if(F!=null&&F.interceptorAutoHeight){l=Math.max(l,F.interceptorAutoHeight);continue}const b=F&&this._getCellDocumentModel(F);if(b==null)continue;const{documentModel:T,textRotation:y,wrapStrategy:v}=b;if(T==null)continue;const $=new N1(T),{vertexAngle:B}=S2(y),w=(_=(c=s[m])==null?void 0:c.w)!=null?_:a;typeof w=="number"&&v===D.WrapStrategy.WRAP&&T.updateDocumentDataPageSize(w);const O=n2.create($,this._localService);O.calculate();let{height:A=0}=(f=O2(O,B))!=null?f:{};if(O){const I=O.getSkeletonData(),{marginTop:R,marginBottom:x,marginLeft:k,marginRight:N}=I.pages[I.pages.length-1],L=Math.abs(y1(B));A+=R*Math.cos(L)+N*Math.sin(L)+x*Math.cos(L)+k*Math.sin(L)}l=Math.max(l,A)}return Math.min(l,p7)}_updateLayout(){if(!this.dirty)return;const{rowData:t,columnData:e,defaultRowHeight:s,defaultColumnWidth:i,rowCount:o,columnCount:a,rowHeader:l,columnHeader:u,showGridlines:c}=this._config,{rowTotalHeight:_,rowHeightAccumulation:f}=this._generateRowMatrixCache(o,t,s),{columnTotalWidth:m,columnWidthAccumulation:C}=this._generateColumnMatrixCache(a,e,i);return this._rowHeaderWidth=l.hidden!==D.BooleanNumber.TRUE?this._dynamicallyUpdateRowHeaderWidth(l):0,this._columnHeaderHeight=u.hidden!==D.BooleanNumber.TRUE?u.height:0,this._rowTotalHeight=_,this._rowHeightAccumulation=f,this._columnTotalWidth=m,this._columnWidthAccumulation=C,this._showGridlines=c,this.makeDirty(!1),this}_dynamicallyUpdateRowHeaderWidth(t){var i;const s=`${(i=this._worksheet)==null?void 0:i.getRowCount()}`.length*8;return Math.max(t.width,s)}getRowColumnSegment(t){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,t==null?void 0:t.viewBound)}getWorksheetConfig(){return this._config}getRowColumnSegmentByViewBound(t){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,t)}getMergeBounding(t,e,s,i){const o=this._config.mergeData;if(!o)return{startRow:t,startColumn:e,endRow:s,endColumn:i};let a=!0;const l=new D.ObjectMatrix;for(;a;){a=!1;for(let u=0;u<o.length;u++){const{startRow:c,startColumn:_,endRow:f,endColumn:m}=o[u];if(l.getValue(c,_))continue;x7({left:e,top:t,right:i,bottom:s},{left:_,top:c,right:m,bottom:f})&&(t=Math.min(t,c),e=Math.min(e,_),s=Math.max(s,f),i=Math.max(i,m),l.setValue(c,_,!0),a=!0)}}return{startRow:t,startColumn:e,endRow:s,endColumn:i}}appendToOverflowCache(t,e,s,i){this._overflowCache.setValue(t,e,{startRow:t,endRow:t,startColumn:s,endColumn:i})}getColumnCount(){return this._columnWidthAccumulation.length}getRowCount(){return this._rowHeightAccumulation.length}getOverflowPosition(t,e,s,i,o){const{width:a}=t;let l=i,u=i;return e===D.HorizontalAlign.CENTER?(l=this._getOverflowBound(s,i,0,a/2,e),u=this._getOverflowBound(s,i,o-1,a/2,e)):e===D.HorizontalAlign.RIGHT?l=this._getOverflowBound(s,i,0,a):u=this._getOverflowBound(s,i,o-1,a),{startColumn:l,endColumn:u}}getNoMergeCellPositionByIndex(t,e){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this;let{startY:l,endY:u,startX:c,endX:_}=X1(t,e,s,i);return l+=a,u+=a,c+=o,_+=o,{startY:l,endY:u,startX:c,endX:_}}getNoMergeCellPositionByIndexWithNoHeader(t,e){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,{startY:o,endY:a,startX:l,endX:u}=X1(t,e,s,i);return{startY:o,endY:a,startX:l,endX:u}}calculateCellIndexByPosition(t,e,s,i,o){const{row:a,column:l}=this.getCellPositionByOffset(t,e,s,i,o);return this.getCellByIndex(a,l)}getCellPositionByOffset(t,e,s,i,o){const a=this.getRowPositionByOffsetY(e,i,o),l=this.getColumnPositionByOffsetX(t,s,o);return{row:a,column:l}}getColumnPositionByOffsetX(t,e,s){t=this.getTransformOffsetX(t,e,s);const{columnWidthAccumulation:i}=this;let o=D.searchArray(i,t);return o===Number.POSITIVE_INFINITY?o=i.length-1:o===-1&&(o=0),o}getRowPositionByOffsetY(t,e,s){const{rowHeightAccumulation:i}=this;t=this.getTransformOffsetY(t,e,s);let o=D.searchArray(i,t);return o===Number.POSITIVE_INFINITY?o=i.length-1:o===-1&&(o=0),o}getTransformOffsetX(t,e,s){const{x:i}=s;return t=t/e+i-this.rowHeaderWidthAndMarginLeft,t}getTransformOffsetY(t,e,s){const{y:i}=s;return t=t/e+i-this.columnHeaderHeightAndMarginTop,t}getOffsetByPositionX(t){const{columnWidthAccumulation:e,rowHeaderWidthAndMarginLeft:s}=this,i=e.length-1,o=e[t];return o!=null?o+s:t<0?s:e[i]+s}getOffsetByPositionY(t){const{rowHeightAccumulation:e,columnHeaderHeightAndMarginTop:s}=this,i=e.length-1,o=e[t];return o!=null?o+s:t<0?s:e[i]+s}getCellByIndex(t,e){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this,l=J1(t,e,s,i,this._config.mergeData),{isMerged:u,isMergedMainCell:c}=l;let{startY:_,endY:f,startX:m,endX:C,mergeInfo:p}=l;return _+=a,f+=a,m+=o,C+=o,p=p6(p,o,a),{actualRow:t,actualColumn:e,startY:_,endY:f,startX:m,endX:C,isMerged:u,isMergedMainCell:c,mergeInfo:p}}getCellByIndexWithNoHeader(t,e){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,o=J1(t,e,s,i,this._config.mergeData),{isMerged:a,isMergedMainCell:l}=o,{startY:u,endY:c,startX:_,endX:f,mergeInfo:m}=o,C=p6(m,0,0);return{actualRow:t,actualColumn:e,startY:u,endY:c,startX:_,endX:f,isMerged:a,isMergedMainCell:l,mergeInfo:C}}convertTransformToOffsetX(t,e,s){const{x:i}=s;return t=(t-i)*e,t}convertTransformToOffsetY(t,e,s){const{y:i}=s;return t=(t-i)*e,t}getSelectionBounding(t,e,s,i){return this.getMergeBounding(t,e,s,i)}getBlankCellDocumentModel(t){const e=this._getCellDocumentModel(t,{ignoreTextRotation:!0});if(e!=null)return e.documentModel==null&&(e.documentModel=this._getDocumentDataByStyle("",{},{})),e;const s="";let i="document";const o={a:0,v:D.BooleanNumber.FALSE},a=D.HorizontalAlign.UNSPECIFIED,l=D.VerticalAlign.UNSPECIFIED,u=D.WrapStrategy.UNSPECIFIED,c=U4;return i=d2({},this._localService).fontCache,{documentModel:this._getDocumentDataByStyle(s,{},{}),fontString:i,textRotation:o,wrapStrategy:u,verticalAlign:l,horizontalAlign:a,paddingData:c}}getCellDocumentModelWithFormula(t){return this._getCellDocumentModel(t,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(t,e=G4){var F;const{isDeepClone:s,displayRawFormula:i,ignoreTextRotation:o}={...G4,...e},a=this._styles.getStyleByCell(t);if(!t)return;let l,u="document";const c=this._getOtherStyle(a),_=o?{a:0,v:D.BooleanNumber.FALSE}:c.textRotation||{a:0,v:D.BooleanNumber.FALSE};let f=c.horizontalAlign||D.HorizontalAlign.UNSPECIFIED;const m=c.verticalAlign||D.VerticalAlign.UNSPECIFIED,C=c.wrapStrategy||D.WrapStrategy.UNSPECIFIED,p=c.paddingData||U4;if(t.f&&i)l=this._getDocumentDataByStyle(t.f.toString(),{},{verticalAlign:m}),f=D.HorizontalAlign.UNSPECIFIED;else if(t.p){const{centerAngle:b,vertexAngle:T}=S2(_);l=this._updateConfigAndGetDocumentModel(s?D.Tools.deepClone(t.p):t.p,f,{horizontalAlign:f,verticalAlign:m,centerAngle:b,vertexAngle:T,wrapStrategy:C})}else if(t.v!=null){const b=this._getFontFormat(a);u=d2(b,this._localService).fontCache,l=this._getDocumentDataByStyle(D.extractPureTextFromCell(t),b,{...c,textRotation:_,cellValueType:t.t})}return{documentModel:l,fontString:u,textRotation:_,wrapStrategy:C,verticalAlign:m,horizontalAlign:f,paddingData:p,fill:(F=a==null?void 0:a.bg)==null?void 0:F.rgb}}getDecomposedOffset(t,e){let s=D.searchArray(this._columnWidthAccumulation,t),i=0;s===-1||s===0?(s=0,i=t):i=t-this._columnWidthAccumulation[s-1];let o=D.searchArray(this._rowHeightAccumulation,e),a=0;return o===-1||o===0?(o=0,a=e):a=e-this._rowHeightAccumulation[o-1],{row:o,column:s,columnOffset:i,rowOffset:a}}_calculateOverflowCell(t,e,s){const{documentSkeleton:i,vertexAngle:o=0,centerAngle:a=0,horizontalAlign:l,wrapStrategy:u}=s,c=this._cellData.getValue(t,e),{t:_=D.CellValueType.STRING}=c||{};let f=l;if(l===D.HorizontalAlign.UNSPECIFIED&&(a===h1&&o===h1?f=D.HorizontalAlign.CENTER:(o>0&&o!==h1||o===-h1)&&(f=D.HorizontalAlign.RIGHT)),(u===D.WrapStrategy.OVERFLOW||u===D.WrapStrategy.UNSPECIFIED)&&_!==D.CellValueType.NUMBER&&_!==D.CellValueType.BOOLEAN&&l!==D.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(t,e))return!0;let m=O2(i,o);if(!m)return!0;if(o!==0){const{startY:b,endY:T,startX:y,endX:v}=J1(t,e,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),$=v-y,B=T-b;m.height>B&&(m={width:B/Math.tan(Math.abs(o))+$,height:B})}const C=this.getOverflowPosition(m,f,t,e,this.getColumnCount()),{startColumn:p,endColumn:F}=C;if(p===F)return!0;this.appendToOverflowCache(t,e,p,F)}else if(u===D.WrapStrategy.WRAP&&o!==0){if(this.intersectMergeRange(t,e))return!0;const{startY:m,endY:C}=J1(t,e,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),p=C-m;i.getViewModel().getDataModel().updateDocumentDataPageSize(p),i.calculate();const F=O2(i,o);if(!F)return!0;const{startColumn:b,endColumn:T}=this.getOverflowPosition(F,f,t,e,this.getColumnCount());if(b===T)return!0;this.appendToOverflowCache(t,e,b,T)}}_getBounding(t,e,s){const i=t.length,o=e.length;if(!s)return{startRow:0,endRow:i-1,startColumn:0,endColumn:o-1};let a=-1,l=-1,u=-1,c=-1;const _=D.searchArray(t,Math.round(s.top)-this.columnHeaderHeightAndMarginTop),f=D.searchArray(t,Math.round(s.bottom)-this.columnHeaderHeightAndMarginTop);_===-1&&f===0?(a=-1,l=-1):(_===-1?a=0:a=_,f===Number.POSITIVE_INFINITY||f>=i?l=i-1:l=f);const m=D.searchArray(e,Math.round(s.left)-this.rowHeaderWidthAndMarginLeft),C=D.searchArray(e,Math.round(s.right)-this.rowHeaderWidthAndMarginLeft);return m===-1&&C===0?(u=-1,c=-1):(m===-1?u=0:u=m,C===Number.POSITIVE_INFINITY||C>=o?c=o-1:c=C),{startRow:a,endRow:l,startColumn:u,endColumn:c}}_generateRowMatrixCache(t,e,s){let i=0;const o=[],a=e;for(let l=0;l<t;l++){let u=s;if(a[l]!=null){const c=a[l];if(!c)continue;const{h:_=s,ah:f,ia:m}=c;(m==null||m===D.BooleanNumber.TRUE)&&typeof f=="number"?u=f:u=_,c.hd===D.BooleanNumber.TRUE&&(u=0)}i+=u,o.push(i)}return{rowTotalHeight:i,rowHeightAccumulation:o}}_generateColumnMatrixCache(t,e,s){let i=0;const o=[],a=e;for(let l=0;l<t;l++){let u=s;if(a[l]!=null){const c=a[l];if(!c)continue;c.w!=null&&(u=c.w),c.hd===D.BooleanNumber.TRUE&&(u=0)}i+=u,o.push(i)}return{columnTotalWidth:i,columnWidthAccumulation:o}}_getOverflowBound(t,e,s,i,o=D.HorizontalAlign.LEFT){var l,u;let a=0;if(e>s){const c=this._columnWidthAccumulation.length-1;for(let _=e;_>=s;_--){const f=_,m=(l=this._worksheet)==null?void 0:l.getCell(t,f);if(!D.isEmptyCell(m)&&f!==e||this.intersectMergeRange(t,f))return f===e?f:f+1>c?c:f+1;const{startX:C,endX:p}=X1(t,f,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===D.HorizontalAlign.CENTER&&f===e?a+=(p-C)/2:a+=p-C,i<a)return f}return e}for(let c=e;c<=s;c++){const _=c,f=(u=this._worksheet)==null?void 0:u.getCell(t,_);if(!D.isEmptyCell(f)&&_!==e||this.intersectMergeRange(t,_))return _===e?_:_-1<0?0:_-1;const{startX:m,endX:C}=X1(t,_,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===D.HorizontalAlign.CENTER&&_===e?a+=(C-m)/2:a+=C-m,i<a)return _}return s}intersectMergeRange(t,e){const s=this.dataMergeCache;for(const i of s){const{startRow:o,endRow:a,startColumn:l,endColumn:u}=i;if(t>=o&&t<=a&&e>=l&&e<=u)return!0}return!1}_calculateStylesCache(){const t=this._dataMergeCache,e=this._rowColumnSegment,s=this.columnWidthAccumulation,{startRow:i,endRow:o,startColumn:a,endColumn:l}=e;if(!(l===-1||o===-1)){for(const u of t)this._setCellCache(u.startRow,u.startColumn,!1,u);for(let u=i;u<=o;u++){for(let c=a;c<=l;c++)this._setCellCache(u,c,!1);for(let c=0;c<a;c++)this._setCellCache(u,c,!0);if(l!==0)for(let c=l+1;c<s.length;c++)this._setCellCache(u,c,!0)}}}_resetCache(){this._stylesCache={background:{},backgroundPositions:new D.ObjectMatrix,font:{},border:new D.ObjectMatrix},this._renderedCellCache=new D.ObjectMatrix,this._overflowCache.reset()}_makeDocumentSkeletonDirty(t,e){if(this._stylesCache.font==null)return;const s=Object.keys(this._stylesCache.font);for(const i of s){const o=this._stylesCache.font[i];if(o!=null&&o.getValue(t,e)){o.getValue(t,e).documentSkeleton.makeDirty(!0);return}}}_setCellCache(t,e,s,i){var B;const o=this._renderedCellCache.getValue(t,e);if(t===-1||e===-1)return!0;if(o===!1)return this._makeDocumentSkeletonDirty(t,e),!0;if(!this._worksheet)return!0;const a=this._worksheet.getCell(t,e)||this._worksheet.getCellRaw(t,e);if(!a)return!0;if(this._worksheet.getColVisible(e)===!1||this._worksheet.getRowVisible(t)===!1){const{isMerged:w,isMergedMainCell:O}=p2(t,e,this._dataMergeCache);if(w&&!O)return!0;if(!O)return!0}const u=this._stylesCache,c=this._styles.getStyleByCell(a);if(!s&&c&&c.bg&&c.bg.rgb){const w=c.bg.rgb;u.background[w]||(u.background[w]=new D.ObjectMatrix),u.background[w].setValue(t,e,w);const A=this.getCellByIndexWithNoHeader(t,e);(B=u.backgroundPositions)==null||B.setValue(t,e,A)}if(!s&&c&&c.bd&&(i?(this._setMergeBorderProps(z.TOP,u,i),this._setMergeBorderProps(z.BOTTOM,u,i),this._setMergeBorderProps(z.LEFT,u,i),this._setMergeBorderProps(z.RIGHT,u,i)):this.intersectMergeRange(t,e)||(this._setBorderProps(t,e,z.TOP,c,u),this._setBorderProps(t,e,z.BOTTOM,c,u),this._setBorderProps(t,e,z.LEFT,c,u),this._setBorderProps(t,e,z.RIGHT,c,u)),this._setBorderProps(t,e,z.TL_BR,c,u),this._setBorderProps(t,e,z.TL_BC,c,u),this._setBorderProps(t,e,z.TL_MR,c,u),this._setBorderProps(t,e,z.BL_TR,c,u),this._setBorderProps(t,e,z.ML_TR,c,u),this._setBorderProps(t,e,z.BC_TR,c,u)),o===!0)return this._makeDocumentSkeletonDirty(t,e),!0;if(D.isNullCell(a))return;const _=a&&this._getCellDocumentModel(a,{displayRawFormula:this._renderRawFormula});if(_==null)return;const{documentModel:f}=_;if(f==null)return;const{fontString:m,textRotation:C,wrapStrategy:p,verticalAlign:F,horizontalAlign:b}=_,T=new N1(f);u.font[m]||(u.font[m]=new D.ObjectMatrix);const y=u.font[m],{vertexAngle:v,centerAngle:$}=S2(C);if(T){const w=n2.create(T,this._localService);w.calculate();const O={documentSkeleton:w,vertexAngle:v,centerAngle:$,verticalAlign:F,horizontalAlign:b,wrapStrategy:p};y.setValue(t,e,O),this._calculateOverflowCell(t,e,O)}s?this._renderedCellCache.setValue(t,e,!0):this._renderedCellCache.setValue(t,e,!1)}_updateConfigAndGetDocumentModel(t,e,s){var o;if(!s||!((o=t.body)!=null&&o.dataStream))return;t.documentStyle||(t.documentStyle={}),t.documentStyle.pageSize={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},t.documentStyle.renderConfig=s;const i=t.body.paragraphs||[];for(const a of i)a.paragraphStyle||(a.paragraphStyle={}),a.paragraphStyle.horizontalAlign=e;return new D.DocumentDataModel(t)}_getDocumentDataByStyle(t,e,s){const i=t.length,{textRotation:o,paddingData:a={t:2,r:2,b:0,l:2},horizontalAlign:l=D.HorizontalAlign.UNSPECIFIED,verticalAlign:u=D.VerticalAlign.UNSPECIFIED,wrapStrategy:c=D.WrapStrategy.UNSPECIFIED,cellValueType:_}=s,{t:f,r:m,b:C,l:p}=a||{},{vertexAngle:F,centerAngle:b}=S2(o),T={id:"d",body:{dataStream:`${t}${D.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:e,st:0,ed:i}],paragraphs:[{startIndex:i,paragraphStyle:{horizontalAlign:l}}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginTop:f,marginBottom:C,marginRight:m,marginLeft:p,renderConfig:{horizontalAlign:l,verticalAlign:u,centerAngle:b,vertexAngle:F,wrapStrategy:c,cellValueType:_}}};return new D.DocumentDataModel(T)}_setMergeBorderProps(t,e,s){var _;if(!this._worksheet||!e.border)return;const i=[];let o=!0,a=s.startRow,l=s.endRow,u=s.startRow,c=s.startColumn;t===z.TOP?(u=s.startRow,a=s.startColumn,l=s.endColumn):t===z.BOTTOM?(u=s.endRow,a=s.startColumn,l=s.endColumn):t===z.LEFT?(c=s.startColumn,a=s.startRow,l=s.endRow):t===z.RIGHT&&(c=s.endColumn,a=s.startRow,l=s.endRow);for(let f=a;f<=l;f++){t===z.TOP||t===z.BOTTOM?c=f:(t===z.LEFT||t===z.RIGHT)&&(u=f);const m=this._worksheet.getCell(u,c);if(!m){o=!1;break}const C=this._styles.getStyleByCell(m);if(!C){o=!1;break}const p=(_=C.bd)==null?void 0:_[t];if(p){const F=D.getColorStyle(p.cl)||P1;i.push({r:u,c,style:p.s,color:F})}else o=!1}o&&i.forEach(f=>{const{r:m,c:C,style:p,color:F}=f;e.border.getValue(m,C)||e.border.setValue(m,C,{}),e.border.getValue(m,C)[t]={type:t,style:p,color:F}})}_setBorderProps(t,e,s,i,o){var c,_,f;const a=(c=i.bd)==null?void 0:c[s];if(!a||!o.border)return!0;const l=D.getColorStyle(a.cl)||P1,u=o.border;if(u.getValue(t,e)||u.setValue(t,e,{[s]:{}}),s===z.TOP){if(((_=u.getValue(t-1,e))==null?void 0:_[z.BOTTOM])&&D.isWhiteColor(l))return!0}else if(s===z.LEFT&&((f=u.getValue(t,e-1))==null?void 0:f[z.RIGHT])&&D.isWhiteColor(l))return!0;u.getValue(t,e)[s]={type:s,style:a.s,color:l}}_getFontFormat(t){if(!t)return{};const{ff:e,fs:s,it:i,bl:o,ul:a,st:l,ol:u,cl:c}=t,_={};return e&&(_.ff=e),s&&(_.fs=s),i&&(_.it=i),o&&(_.bl=o),a&&(_.ul=a),l&&(_.st=l),u&&(_.ol=u),c&&(_.cl=c),_}_getOtherStyle(t){if(!t)return{};const{tr:e,td:s,ht:i,vt:o,tb:a,pd:l}=t;return{textRotation:e,textDirection:s,horizontalAlign:i,verticalAlign:o,wrapStrategy:a,paddingData:l}}_getMergeCells(t,e){const s=this.columnWidthAccumulation.length-1;e?e={startRow:e.startRow,endRow:e.endRow,endColumn:s,startColumn:0}:e={startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:s};const{startRow:i,startColumn:o,endRow:a,endColumn:l}=e,u=[];for(let c=0;c<t.length;c++){const{startRow:_,endRow:f,startColumn:m,endColumn:C}=t[c];for(let p=i;p<=a;p++){let F=!1;for(let b=o;b<=l;b++)if(p>=_&&p<=f&&b>=m&&b<=C){u.push({startRow:_,endRow:f,startColumn:m,endColumn:C}),F=!0;break}if(F)break}}return u}},S.SpreadsheetSkeleton=Y3([j4(4,g1.Inject(D.LocaleService)),j4(5,D.IContextService)],S.SpreadsheetSkeleton);const z3="DefaultFontExtension",W3=30;class K4 extends x1{constructor(){super(...arguments);h(this,"uKey",z3);h(this,"Z_INDEX",W3)}getDocuments(){const t=this.parent;return t==null?void 0:t.getDocuments()}draw(t,e,s,i){const{stylesCache:o,dataMergeCache:a,overflowCache:l,worksheet:u}=s,{font:c}=o;if(!s||!u)return;const{rowHeightAccumulation:_,columnTotalWidth:f,columnWidthAccumulation:m,rowTotalHeight:C}=s;if(!_||!m||f===void 0||C===void 0||!u)return;t.save();const p=this._getScale(e);c&&Object.keys(c).forEach(F=>{c[F].forValue((T,y,v)=>{var d1,l1,e1,K,c1;const $=this.getCellIndex(T,y,_,m,a);let{startY:B,endY:w,startX:O,endX:A}=$;const{isMerged:I,isMergedMainCell:R,mergeInfo:x}=$;if(I||(R&&(B=x.startY,w=x.endY,O=x.startX,A=x.endX),!this.isRenderDiffRangesByRow(x.startRow,x.endRow,i)))return!0;const k=u.getCell(T,y)||{};if((d1=k.fontRenderExtension)!=null&&d1.isSkip)return!0;const N=l.getValue(T,y),{horizontalAlign:L,vertexAngle:Y=0,centerAngle:X=0}=v;let G=L;L===D.HorizontalAlign.UNSPECIFIED&&(X===h1&&Y===h1?G=D.HorizontalAlign.CENTER:(Y>0&&Y!==h1||Y===-h1)&&(G=D.HorizontalAlign.RIGHT)),t.save(),t.beginPath();const j=(e1=(l1=k.fontRenderExtension)==null?void 0:l1.rightOffset)!=null?e1:0,V=(c1=(K=k.fontRenderExtension)==null?void 0:K.leftOffset)!=null?c1:0;let q=!0;Y===0&&(O=O+V,A=A-j,(j!==0||V!==0)&&(q=!1));const J=A-O,s1=w-B;if(N&&q){const{startColumn:Q,startRow:i1,endColumn:a1,endRow:C1}=N;Q===a1&&Q===y?(t.rectByPrecision(O+1/p,B+1/p,J-2/p,s1-2/p),t.clip(),t.clearRectForTexture(O+1/p,B+1/p,J-2/p,s1-2/p)):G===D.HorizontalAlign.CENTER?this._clipRectangle(t,i1,C1,Q,a1,p,_,m):G===D.HorizontalAlign.RIGHT?this._clipRectangle(t,i1,T,Q,y,p,_,m):this._clipRectangle(t,T,C1,y,a1,p,_,m)}else t.rectByPrecision(O+1/p,B+1/p,J-2/p,s1-2/p),t.clip(),t.clearRectForTexture(O+1/p,B+1/p,J-2/p,s1-2/p);t.translate(O,B),this._renderDocuments(t,v,O,B,A,w,T,y,l),t.restore()})}),t.restore()}_renderDocuments(t,e,s,i,o,a,l,u,c){const _=this.getDocuments();if(_==null)throw new Error("documents is null");const{documentSkeleton:f,vertexAngle:m=0,wrapStrategy:C}=e,p=o-s,F=a-i;C===D.WrapStrategy.WRAP&&m===0?(f.getViewModel().getDataModel().updateDocumentDataPageSize(p),f.calculate()):f.getViewModel().getDataModel().updateDocumentDataPageSize(Number.POSITIVE_INFINITY);const b=c.getValue(l,u);if(!(C===D.WrapStrategy.WRAP&&!b&&m===0)){const T=O2(f),y=f.getViewModel().getDataModel().getSnapshot().documentStyle;if(T&&y){const{width:v}=T,{marginRight:$=0,marginLeft:B=0}=y;f.getViewModel().getDataModel().updateDocumentDataPageSize(v+B+$),f.calculate()}}f.makeDirty(!1),_.resize(p,F),_.changeSkeleton(f).render(t)}_clipRectangle(t,e,s,i,o,a,l,u){const c=l[e-1]||0,_=l[s]||l[l.length-1],f=u[i-1]||0,m=u[o]||u[u.length-1];t.rectByPrecision(f,c,m-f,_-c),t.clip(),t.clearRectForTexture(f,c,m-f,_-c)}}z1.add(K4);const j3="DefaultRowHeaderLayoutExtension";class J4 extends x1{constructor(){super(...arguments);h(this,"uKey",j3);h(this,"Z_INDEX",10)}draw(t,e,s){const{rowColumnSegment:i,rowHeaderWidth:o=0,columnHeaderHeight:a=0}=s,{startRow:l,endRow:u,startColumn:c,endColumn:_}=i;if(!s)return;const{rowHeightAccumulation:f,columnTotalWidth:m,columnWidthAccumulation:C,rowTotalHeight:p}=s;if(!f||!C||m===void 0||p===void 0)return;const F=this._getScale(e);t.fillStyle=u1([248,249,250]),t.fillRectByPrecision(0,0,o,p),t.textAlign="center",t.textBaseline="middle",t.fillStyle=u1([0,0,0]),t.beginPath(),t.setLineWidthByPrecision(1),t.translateWithPrecisionRatio(o1,o1),t.strokeStyle=u1([217,217,217]),t.font=`13px ${P2}`;let b=0;const T=f.length;for(let v=l-1;v<=u;v++){if(v<0||v>T-1)continue;const $=f[v];if(b===$)continue;t.moveToByPrecision(0,$),t.lineToByPrecision(o,$);const B=b+($-b)/2;t.fillText(`${v+1}`,o/2,B+r6),b=$}const y=o-.5/F;t.moveToByPrecision(y,0),t.lineToByPrecision(y,p),t.stroke()}}B6.add(new J4);const G3="DefaultMarkerExtension",U3=60,V3=r=>{const{startRow:n,endRow:t,startColumn:e,endColumn:s}=r;return`${n}-${t}-${e}-${s}`};class Z4 extends x1{constructor(){super(...arguments);h(this,"Z_INDEX",U3);h(this,"uKey",G3)}draw(t,e,s,i){const{worksheet:o,rowColumnSegment:a}=s;if(!o)return;const l=new Set;D.Range.foreach(a,(u,c)=>{var v,$,B,w;let _=o.getCell(u,c);const f=this.getCellIndex(u,c,s.rowHeightAccumulation,s.columnWidthAccumulation,s.dataMergeCache),{isMerged:m,isMergedMainCell:C,mergeInfo:p}=f;let{startY:F,endY:b,startX:T,endX:y}=f;if((C||m)&&(F=p.startY,b=p.endY,T=p.startX,y=p.endX),m){const O={row:p.startRow,col:p.startColumn};_=o.getCell(O.row,O.col)}if(!this.isRenderDiffRangesByRow(p.startRow,p.endRow,i))return!0;if(f.isMerged||f.isMergedMainCell){const O=V3(p);if(l.has(O))return;l.add(O)}if(!(!o.getColVisible(c)||!o.getRowVisible(u))&&_){if((v=_.markers)!=null&&v.tr){t.save();const O=_.markers.tr,A=y,I=F;t.fillStyle=O.color,t.moveTo(A,I),t.beginPath(),t.lineTo(A-O.size,I),t.lineTo(A,I+O.size),t.lineTo(A,I),t.closePath(),t.fill(),t.restore()}if(($=_.markers)!=null&&$.tl){t.save();const O=_.markers.tl,A=T,I=F;t.fillStyle=O.color,t.moveTo(A,I),t.beginPath(),t.lineTo(A+O.size,I),t.lineTo(A,I+O.size),t.lineTo(A,I),t.closePath(),t.fill(),t.restore()}if((B=_.markers)!=null&&B.br){t.save();const O=_.markers.br,A=y,I=b;t.fillStyle=O.color,t.moveTo(A,I),t.beginPath(),t.lineTo(A-O.size,I),t.lineTo(A,I-O.size),t.lineTo(A,I),t.closePath(),t.fill(),t.restore()}if((w=_.markers)!=null&&w.bl){t.save();const O=_.markers.bl,A=T,I=b;t.fillStyle=O.color,t.moveTo(A,I),t.beginPath(),t.lineTo(A+O.size,I),t.lineTo(A,I-O.size),t.lineTo(A,I),t.closePath(),t.fill(),t.restore()}}})}}z1.add(Z4);const K3="DefaultCustomExtension",J3=55,Z3=r=>{const{startRow:n,endRow:t,startColumn:e,endColumn:s}=r;return`${n}-${t}-${e}-${s}`};class q4 extends x1{constructor(){super(...arguments);h(this,"Z_INDEX",J3);h(this,"uKey",K3)}draw(t,e,s,i){const{rowHeightAccumulation:o,columnWidthAccumulation:a,worksheet:l,dataMergeCache:u,rowColumnSegment:c}=s;if(!l)return;const _=new Set,f=l.getSheetId();D.Range.foreach(c,(m,C)=>{let p=l.getCell(m,C);if(!(p!=null&&p.customRender))return;let F=this.getCellIndex(m,C,o,a,u);const{mergeInfo:b}=F;if(!this.isRenderDiffRangesByRow(b.startRow,b.endRow,i))return!0;if(F.isMerged||F.isMergedMainCell){const v=Z3(b);if(_.has(v))return;_.add(v)}if(F.isMerged){const v={row:b.startRow,col:b.startColumn};if(p=l.getCell(v.row,v.col),!(p!=null&&p.customRender))return;F=this.getCellIndex(v.row,v.col,o,a,u)}const T={data:p,style:s.getsStyles().getStyleByCell(p),primaryWithCoord:F,subUnitId:f,row:m,col:C};if(!l.getColVisible(C)||!l.getRowVisible(m))return;const y=p.customRender.sort(D.sortRules);t.save(),y.forEach(v=>{v.drawWith(t,T,s,this.parent)}),t.restore()})}}z1.add(q4);var Q4=(r=>(r[r.OFF=0]="OFF",r[r.ON=1]="ON",r))(Q4||{});class q3 extends A6{constructor(t,e){super(t,e);h(this,"_rowHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(t,e){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale();s.calculateSegment(e);const o=s.rowColumnSegment;if(o.startRow===-1&&o.endRow===-1)return;const{columnHeaderHeight:a}=s;t.translateWithPrecision(0,a);const l=this.getExtensionsByOrder();for(const u of l)u.draw(t,i,s)}isHit(t){const e=this._getInverseCoord(t),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return e.x>=0&&e.x<=i&&e.y>o}_initialDefaultExtension(){B6.getData().forEach(t=>{this.register(t)}),this._rowHeaderLayoutExtension=this.getExtensionByKey("DefaultRowHeaderLayoutExtension")}}var q6=(r=>(r[r.SPAN=0]="SPAN",r[r.LINE=1]="LINE",r))(q6||{});class J2 extends $6{constructor(){super(...arguments);h(this,"type",0);h(this,"translateX",0);h(this,"translateY",0)}}const Q3="DefaultDocsBackgroundExtension",t8=10;class e8 extends J2{constructor(){super(...arguments);h(this,"uKey",Q3);h(this,"Z_INDEX",t8);h(this,"_preBackgroundColor","")}draw(t,e,s){var f;const i=(f=s.parent)==null?void 0:f.parent;if(!i)return;const{contentHeight:o=0}=i,{ts:a,width:l}=s;if(!a)return;const{bg:u}=a;if(!u)return;const c=D.getColorStyle(u),{spanStartPoint:_=P.create(0,0)}=this.extensionOffset;c&&(t.fillStyle=c,t.fillRectByPrecision(_.x-.5,_.y,l+1,o+1))}clearCache(){this._preBackgroundColor=""}}t2.add(new e8);const n8="DefaultDocsBorderExtension";class s8 extends J2{constructor(){super(...arguments);h(this,"uKey",n8);h(this,"Z_INDEX",50);h(this,"_preBorderStyle");h(this,"_preBorderColor","")}draw(t,e,s){var p;const i=(p=s.parent)==null?void 0:p.parent;if(!i)return;const{asc:o=0,lineHeight:a=0}=i,{ts:l,left:u,width:c}=s;if(!l)return;const{bd:_}=l;if(!_)return;const f=this._getScale(t.getScale()),m=this._createBorderCache(_);t.save(),t.translateWithPrecisionRatio(o1,o1);const{spanStartPoint:C=P.create(0,0)}=this.extensionOffset;for(const F of m.keys()){const b=m.get(F);if(!b)continue;const{s:T,cl:y}=b,v=D.getColorStyle(y)||P1,$=b6(T);T!==this._preBorderStyle&&(E6(t,T),t.setLineWidthByPrecision($),this._preBorderStyle=T),v!==this._preBorderColor&&(t.strokeStyle=v||P1,this._preBorderColor=v),C6(t,F,($-1)/2/f,{startX:C.x,startY:C.y,endX:C.x+c,endY:C.y+a})}t.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=""}_createBorderCache(t){const{t:e,b:s,l:i,r:o}=t,a=new Map;return e&&a.set(z.TOP,e),s&&a.set(z.BOTTOM,s),i&&a.set(z.LEFT,i),o&&a.set(z.RIGHT,o),a}}t2.add(new s8);const i8="DefaultDocsFontAndBaseLineExtension",r8=20;class o8 extends J2{constructor(){super(...arguments);h(this,"uKey",i8);h(this,"Z_INDEX",r8);h(this,"_preFontString","");h(this,"_preFontColor","")}draw(t,e,s){var C;if(!((C=s.parent)==null?void 0:C.parent))return;const{ts:o,content:a,fontStyle:l,bBox:u}=s,{spanPointWithFont:c=P.create(0,0)}=this.extensionOffset;if(a==null)return;if(!o){this._fillText(t,s,c);return}this._preFontString!==(l==null?void 0:l.fontString)&&(t.font=this._preFontString=(l==null?void 0:l.fontString)||"");const{cl:_,va:f}=o,m=D.getColorStyle(_)||P1;m&&this._preFontColor!==m&&(t.fillStyle=m),f===D.BaselineOffset.SUPERSCRIPT?c.y+=-u.spo:f===D.BaselineOffset.SUBSCRIPT&&(c.y+=u.sbo),this._fillText(t,s,c)}_fillText(t,e,s){const{renderConfig:i,spanStartPoint:o,centerPoint:a}=this.extensionOffset,{content:l,width:u,bBox:c}=e,{aba:_,abd:f}=c;if(l==null||o==null||a==null)return;const{vertexAngle:m,centerAngle:C}=i!=null?i:{},p=90;m===p&&C===p&&!g2(l)?(t.save(),t.translate(o.x+a.x,o.y+a.y),t.rotate(Math.PI/2),t.translate(-u/2,(_+f)/2-f),t.fillText(l,0,0),t.restore()):t.fillText(l,s.x,s.y)}clearCache(){this._preFontString="",this._preFontColor=""}}t2.add(new o8);const a8="DefaultDocsLineExtension",u8=40;class l8 extends J2{constructor(){super(...arguments);h(this,"uKey",a8);h(this,"Z_INDEX",u8);h(this,"_preBackgroundColor","")}draw(t,e,s){var v;const i=(v=s.parent)==null?void 0:v.parent;if(!i)return;const{contentHeight:o=0,asc:a}=i,{ts:l,bBox:u}=s;if(!l)return;const{sp:c,spo:_,sbo:f,bd:m}=u,C=m6(e),p=.5,{ul:F,st:b,ol:T,va:y}=l;if(F){const $=o+o6-3;this._drawLine(t,s,F,$,C)}if(b){let $=c-p;y===D.BaselineOffset.SUPERSCRIPT?$=a+m-_-c:y===D.BaselineOffset.SUBSCRIPT&&($=a+m+f-c),this._drawLine(t,s,b,$,C)}if(T){const $=-o6-p;this._drawLine(t,s,T,$,C)}}clearCache(){this._preBackgroundColor=""}_drawLine(t,e,s,i,o){var _;const{s:a,cl:l,t:u,c=D.BooleanNumber.TRUE}=s;if(a===D.BooleanNumber.TRUE){const{originTranslate:f=P.create(0,0),alignOffset:m=P.create(0,0),renderConfig:C={}}=this.extensionOffset,{left:p,width:F}=e,{centerAngle:b=0,vertexAngle:T=0}=C,y=y1(b),v=y1(T);t.save(),t.translateWithPrecisionRatio(o1,o1),t.beginPath();const $=(c===D.BooleanNumber.TRUE?D.getColorStyle((_=e.ts)==null?void 0:_.cl):D.getColorStyle(l))||P1;t.strokeStyle=$,this._setLineType(t,u||D.TextDecoration.SINGLE);const B=C2(f.addByPoint(p,i),P.create(0,0),y,v,m),w=C2(f.addByPoint(p+F,i),P.create(0,0),y,v,m);t.moveToByPrecision(B.x,B.y),t.lineToByPrecision(w.x,w.y),t.stroke(),t.restore()}}_setLineType(t,e){e===D.TextDecoration.DASH_DOT_DOT_HEAVY||e===D.TextDecoration.DOT_DOT_DASH?t.setLineDash([2,2,5,2,2]):e===D.TextDecoration.DASH_DOT_HEAVY||e===D.TextDecoration.DOT_DASH?t.setLineDash([2,5,2]):e===D.TextDecoration.DOTTED||e===D.TextDecoration.DOTTED_HEAVY?t.setLineDash([2]):e===D.TextDecoration.DASH||e===D.TextDecoration.DASHED_HEAVY?t.setLineDash([3]):e===D.TextDecoration.DASH_LONG||e===D.TextDecoration.DASH_LONG_HEAVY?t.setLineDash([6]):t.setLineDash([0])}}t2.add(new l8);class c8 extends v6{constructor(t,e){super(t);h(this,"pageMarginLeft",0);h(this,"pageMarginTop",0);h(this,"pageLayoutType",v1.VERTICAL);this._skeleton=e}getSkeleton(){return this._skeleton}setSkeleton(t){this._skeleton=t}render(t,e){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;const s=this.transform.getMatrix();t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(t,e),t.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:t=1,scaleY:e=1}=this.parent;return this.parent.classType===H.SCENE&&(t=this.parent.ancestorScaleX||1,e=this.parent.ancestorScaleY||1),{scaleX:t,scaleY:e}}scrollBySelection(){}syncSelection(){}remainActiveSelection(){}findNodeByCoord(t,e){}findCoordByNode(t){}_getBounding(t){}_draw(t,e){}}class w2 extends c8{constructor(t,e,s){super(t,e);h(this,"onPageRenderObservable",new D.Observable);h(this,"docsLeft",0);h(this,"docsTop",0);h(this,"_drawLiquid");h(this,"_findLiquid");h(this,"_skeletonObserver");this.setConfig(s),this._drawLiquid=new y2,this._findLiquid=new y2,this._initialDefaultExtension(),this.makeDirty(!0)}static create(t,e,s){return new w2(t,e,s)}setConfig(t){(t==null?void 0:t.pageMarginLeft)!=null?this.pageMarginLeft=t==null?void 0:t.pageMarginLeft:this.pageMarginLeft=17,(t==null?void 0:t.pageMarginTop)!=null?this.pageMarginTop=t==null?void 0:t.pageMarginTop:this.pageMarginTop=14,(t==null?void 0:t.pageLayoutType)!=null?this.pageLayoutType=t==null?void 0:t.pageLayoutType:this.pageLayoutType=v1.VERTICAL}getOffsetConfig(){const{transform:t,pageLayoutType:e,pageMarginLeft:s,pageMarginTop:i,left:o,top:a}=this;return{documentTransform:t,pageLayoutType:e,pageMarginLeft:s,pageMarginTop:i,docsLeft:o,docsTop:a}}getEngine(){return this.getScene().getEngine()}draw(t,e){var _;if(!this.getSkeleton())return;this._drawLiquid.reset();const i=(_=this.getSkeleton())==null?void 0:_.getSkeletonData();if(i==null)return;this._drawLiquid.reset();const{pages:o}=i,a=this.getParentScale(),l=this.getExtensionsByOrder();for(const f of l)f.clearCache();let u=0,c=0;for(let f=0,m=o.length;f<m;f++){const C=o[f],{sections:p,marginTop:F=0,marginBottom:b=0,marginLeft:T=0,marginRight:y=0,width:v,height:$,renderConfig:B={}}=C,{verticalAlign:w=D.VerticalAlign.TOP,horizontalAlign:O=D.HorizontalAlign.LEFT,centerAngle:A=0,vertexAngle:I=0,wrapStrategy:R=D.WrapStrategy.UNSPECIFIED,cellValueType:x}=B,k=this._horizontalHandler(v,T,y,O,I,A,x),N=this._verticalHandler($,F,b,w),L=P.create(k,N),Y=y1(A),X=y1(I),G=X-Y;if(this._isSkipByDiffBounds(C,u,c,e)){const{x:q,y:J}=this._drawLiquid.translatePage(C,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);c+=q,u+=J;continue}this.onPageRenderObservable.notifyObservers({page:C,pageLeft:c,pageTop:u,ctx:t}),this._startRotation(t,G);for(const q of p){const{columns:J}=q;this._drawLiquid.translateSection(q);for(const s1 of J){const{lines:d1,width:l1}=s1;this._drawLiquid.translateColumn(s1);const e1=d1.length;let K=L,c1=null;if(X!==0){const{rotateTranslateXList:Q,rotatedHeight:i1,rotatedWidth:a1,fixOffsetX:C1,fixOffsetY:E1,rotateTranslateY:f1}=S6(d1,l1,X);let R1=a1;i1>this.height&&R!==D.WrapStrategy.WRAP&&(R===D.WrapStrategy.OVERFLOW||X>0)&&(R1=this.height/Math.tan(Math.abs(X)));const V1=this._horizontalHandler(R1,T,y,O,I,A);let _1=this._verticalHandler(i1,F,b,w)-E1;i1>this.height&&(X<0?_1=this.height-(i1+E1):_1=-E1),K=P.create(V1+C1,_1),this._drawLiquid.translate(0,-f1),c1=Q}else R===D.WrapStrategy.WRAP&&(K.x=T);for(let Q=0;Q<e1;Q++){const i1=d1[Q],{divides:a1,asc:C1=0,type:E1,lineHeight:f1=0}=i1,R1=C1,V1=R1*Math.sin(Y),o2=R1*Math.cos(Y);if(E1===F2.BLOCK)for(const _1 of l)_1.type===q6.LINE&&(_1.extensionOffset={alignOffset:K,renderConfig:B},_1.draw(t,a,i1));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(i1,!0),c1&&this._drawLiquid.translate(c1[Q]);const _1=a1.length;for(let k1=0;k1<_1;k1++){const K1=a1[k1],{glyphGroup:a2}=K1;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(K1);for(const I1 of a2){if(!I1.content||I1.content.length===0)continue;const{width:u2,left:H1,xOffset:n6}=I1,{x:l7,y:c7}=this._drawLiquid,A2=P.create(l7,c7),R2=P.create(u2/2,f1/2),I2=C2(A2.addByPoint(H1+n6,0),R2,Y,X,K),s6=C2(A2.addByPoint(H1+V1+n6,o2),R2,Y,X,K),h7={originTranslate:A2,spanStartPoint:I2,spanPointWithFont:s6,centerPoint:R2,alignOffset:K,renderConfig:B};for(const l2 of l)l2.type===q6.SPAN&&(l2.extensionOffset=h7,l2.draw(t,a,I1))}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}}}this._resetRotation(t,G);const{x:j,y:V}=this._drawLiquid.translatePage(C,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);c+=j,u+=V}}changeSkeleton(t){return this.setSkeleton(t),this}_draw(t,e){this.draw(t,e)}_horizontalHandler(t,e,s,i,o=0,a=0,l){i===D.HorizontalAlign.UNSPECIFIED&&(a===h1&&o===h1?i=D.HorizontalAlign.CENTER:o>0&&o!==h1||o===-h1||l===D.CellValueType.NUMBER?i=D.HorizontalAlign.RIGHT:l===D.CellValueType.BOOLEAN?i=D.HorizontalAlign.CENTER:i=D.HorizontalAlign.LEFT);let u=0;return i===D.HorizontalAlign.CENTER?u=(this.width-t)/2:i===D.HorizontalAlign.RIGHT?u=this.width-t-s:u=e,u}_verticalHandler(t,e,s,i){let o=0;return i===D.VerticalAlign.MIDDLE?o=(this.height-t)/2:i===D.VerticalAlign.TOP?o=e:o=this.height-t-s,o}_startRotation(t,e){t.rotate(e||0)}_resetRotation(t,e){t.rotate(-e||0)}_initialDefaultExtension(){t2.getData().forEach(t=>{this.register(t)})}_isSkipByDiffBounds(t,e,s,i){if(i==null)return!1;const{pageWidth:o,pageHeight:a,marginBottom:l,marginTop:u,marginLeft:c,marginRight:_}=t,f=s+o+c+_,m=e+a+l+u,{left:C,top:p,right:F,bottom:b}=i.viewBound;return f<C||m<p||s>F&&o!==Number.POSITIVE_INFINITY||e>b&&a!==Number.POSITIVE_INFINITY}}const h8="__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__";class _8 extends w6{constructor(t,e,s=!0){super(t,e);h(this,"_backgroundExtension");h(this,"_borderExtension");h(this,"_fontExtension");h(this,"_cacheCanvas");h(this,"_refreshIncrementalState",!1);h(this,"_forceDirty",!1);h(this,"_overflowCacheRuntime",{});h(this,"_overflowCacheRuntimeRange",new D.ObjectMatrix);h(this,"_overflowCacheRuntimeTimeout",-1);h(this,"_forceDisableGridlines",!1);h(this,"_documents",new w2(h8,void 0,{pageMarginLeft:0,pageMarginTop:0}));h(this,"isPrinting",!1);this._allowCache=s,this._allowCache&&(this._cacheCanvas=new Q1,this.onIsAddedToParentObserver.add(i=>{var o;(o=i==null?void 0:i.getEngine())==null||o.onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()}),this._resizeCacheCanvas(),this._addMakeDirtyToScroll()})),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}draw(t,e){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale(),o=this._refreshIncrementalState?e==null?void 0:e.diffBounds.map(l=>s.getRowColumnSegmentByViewBound(l)):void 0,a=this.getExtensionsByOrder();for(const l of a)l.draw(t,i,s,o)}isHit(t){const e=this._getInverseCoord(t),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=s;return e.x>i&&e.y>o}getNoMergeCellPositionByIndex(t,e){const s=this.getSkeleton();if(!s)return;const{rowHeightAccumulation:i,columnWidthAccumulation:o,rowHeaderWidth:a,columnHeaderHeight:l}=s;let{startY:u,endY:c,startX:_,endX:f}=X1(t,e,i,o);return u+=l,c+=l,_+=a,f+=a,{startY:u,endY:c,startX:_,endX:f}}getScrollXYByRelativeCoords(t){const e=this.getParent();let s=0,i=0;const o=e.getActiveViewportByRelativeCoord(t);if(o){const a=o.actualScrollX||0,l=o.actualScrollY||0;s+=a,i+=l}return{x:s,y:i}}makeForceDirty(t=!0){this.makeDirty(t),this._forceDirty=t}setForceDisableGridlines(t){this._forceDisableGridlines=t}getSelectionBounding(t,e,s,i){var o;return(o=this.getSkeleton())==null?void 0:o.getMergeBounding(t,e,s,i)}render(t,e){if(!this.visible)return this.makeDirty(!1),this;const s=this.getSkeleton();if(!s)return;s.calculateWithoutClearingCache(e);const i=s.rowColumnSegment;if(i.startRow===-1&&i.endRow===-1||i.startColumn===-1&&i.endColumn===-1)return;t.save();const{a:o=1,d:a=1}=t.getTransform(),{rowHeaderWidth:l,columnHeaderHeight:u}=s;if(t.translateWithPrecision(l,u),this._drawAuxiliary(t,e),e&&this._allowCache===!0){const{viewBound:c,diffBounds:_,diffX:f,diffY:m,viewPortPosition:C,viewPortKey:p}=e;if(p==="viewMain"){const F=this._cacheCanvas.getContext();F.save();const{left:b,top:T,right:y,bottom:v}=C,$=y-b+l,B=v-T+u;if(_.length===0||f===0&&m===0||this._forceDirty)(this.isDirty()||this._forceDirty)&&(this._cacheCanvas.clear(),F.setTransform(t.getTransform()),this._draw(F,e),this._forceDirty=!1),this._applyCache(t,b,T,$,B,b,T,$,B);else{if(this.isDirty()){F.save(),F.globalCompositeOperation="copy",F.setTransform(1,0,0,1,0,0),F.drawImage(this._cacheCanvas.getCanvasEle(),f*o,m*a),F.restore(),this._refreshIncrementalState=!0,F.setTransform(t.getTransform());for(const w of _){const{left:O,right:A,bottom:I,top:R}=w;F.save(),F.beginPath(),F.rectByPrecision(O-l-o1,R-u-o1,A-O+l+o1*2,I-R+u+o1*2),F.clip(),this._draw(F,{viewBound:e.viewBound,diffBounds:[w],diffX:e.diffX,diffY:e.diffY,viewPortPosition:e.viewPortPosition,viewPortKey:e.viewPortKey}),F.restore()}this._refreshIncrementalState=!1}this._applyCache(t,b,T,$,B,b,T,$,B)}F.restore()}else this._draw(t,e)}else this._draw(t,e);return t.restore(),this.makeDirty(!1),this}_resizeCacheCanvas(){const t=this._getAncestorSize();if(!t||this._cacheCanvas==null)return;const{width:e,height:s}=t;this._cacheCanvas.setSize(e,s),this.makeForceDirty(!0)}_applyCache(t,e=0,s=0,i=0,o=0,a=0,l=0,u=0,c=0){if(!t)return;const _=this._cacheCanvas.getPixelRatio(),f=this._cacheCanvas.getContext();f.save(),t.save(),t.setTransform(1,0,0,1,0,0),f.setTransform(1,0,0,1,0,0),t.drawImage(this._cacheCanvas.getCanvasEle(),e*_,s*_,i*_,o*_,a*_,l*_,u*_,c*_),t.restore(),f.restore()}_draw(t,e){this.draw(t,e)}_getAncestorSize(){const t=this._getAncestorParent();if(t){if(t.classType===H.ENGINE){const e=t.getCanvas();return{width:e.getWidth(),height:e.getHeight()}}if(t.classType===H.SCENE_VIEWER)return{width:t.width,height:t.height}}}_getAncestorParent(){let t=this.parent;for(;t;){if(t.classType===H.ENGINE||t.classType===H.SCENE_VIEWER)return t;t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent())}}_initialDefaultExtension(){z1.getData().sort(D.sortRules).forEach(t=>{this.register(new t)}),this._backgroundExtension=this.getExtensionByKey("DefaultBackgroundExtension"),this._borderExtension=this.getExtensionByKey("DefaultBorderExtension"),this._fontExtension=this.getExtensionByKey("DefaultFontExtension")}_addMakeDirtyToScroll(){this._hasScrollViewportOperator(this,t=>{t.onScrollBeforeObserver.add(()=>{this.makeDirty(!0)})})}_hasScrollViewportOperator(t,e){let s=t.getParent();for(;s;){if(s.classType===H.SCENE){const i=s.getViewports(),o=this._getHasScrollViewports(i);for(const a of o)a&&e(a)}s=(s==null?void 0:s.getParent)&&(s==null?void 0:s.getParent())}}_getHasScrollViewports(t){const e=[];for(const s of t)s.getScrollBar()&&e.push(s);return e}_drawAuxiliary(t,e){const s=this.getSkeleton();if(s==null)return;const{rowColumnSegment:i,dataMergeCache:o,overflowCache:a,stylesCache:l,showGridlines:u}=s,{border:c,backgroundPositions:_}=l,{startRow:f,endRow:m,startColumn:C,endColumn:p}=i;if(!s||u===D.BooleanNumber.FALSE||this._forceDisableGridlines)return;const{rowHeightAccumulation:F,columnTotalWidth:b,columnWidthAccumulation:T,rowTotalHeight:y}=s;if(!F||!T||b===void 0||y===void 0)return;t.save(),t.setLineWidthByPrecision(1),t.strokeStyle=u1([212,212,212]);const v=T.length,$=F.length,B=.4,w=m-f+1,O=p-C+1,A=Math.ceil(w*B),I=Math.ceil(O*B),R=Math.max(Math.floor(f-A),0),x=Math.min(Math.ceil(m+A),$-1),k=Math.min(Math.ceil(p+I),v-1),N=Math.max(Math.floor(C-I),0),L=T[N-1]||0,Y=F[R-1]||0,X=T[k],G=F[x];t.translateWithPrecisionRatio(o1,o1),t.beginPath(),t.moveToByPrecision(L,Y),t.lineToByPrecision(X,Y),t.moveToByPrecision(L,Y),t.lineToByPrecision(L,G),t.closePathByEnv(),t.stroke();for(let j=R;j<=x;j++){if(j<0||j>$-1)continue;const V=F[j];t.beginPath(),t.moveToByPrecision(L,V),t.lineToByPrecision(X,V),t.closePathByEnv(),t.stroke()}for(let j=N;j<=k;j++){if(j<0||j>v-1)continue;const V=T[j];t.beginPath(),t.moveToByPrecision(V,Y),t.lineToByPrecision(V,G),t.closePathByEnv(),t.stroke()}this._clearRectangle(t,F,T,o),this._clearRectangle(t,F,T,a.toNativeArray()),this._clearBackground(t,_),t.restore()}_clearRectangle(t,e,s,i){if(i!=null)for(const o of i){const{startRow:a,endRow:l,startColumn:u,endColumn:c}=o,_=e[a-1]||0,f=e[l]||e[e.length-1],m=s[u-1]||0,C=s[c]||s[s.length-1];t.clearRectByPrecision(m,_,C-m,f-_),t.beginPath(),t.moveToByPrecision(m,_),t.lineToByPrecision(C,_),t.lineToByPrecision(C,f),t.lineToByPrecision(m,f),t.lineToByPrecision(m,_),t.stroke(),t.closePath()}}_clearBackground(t,e){e==null||e.forValue((s,i,o)=>{let{startY:a,endY:l,startX:u,endX:c}=o;const{isMerged:_,isMergedMainCell:f,mergeInfo:m}=o;if(_)return!0;f&&(a=m.startY,l=m.endY,u=m.startX,c=m.endX),t.clearRectForTexture(u,a,c-u+.5,l-a+.5)})}}function tt(r,n,t){r.onPointerEnterObserver.add(e=>{n(r,e)}),r.onPointerLeaveObserver.add(e=>{t(r,e)})}class Q6 extends w1{constructor(t,e){super(t);h(this,"_subScenes",new Map);h(this,"_activeSubScene");h(this,"_allowSelectedClipElement",!1);this._initialProps(e)}get classType(){return H.SCENE_VIEWER}render(t,e){var i;if(!this.visible)return this.makeDirty(!1),this;if(e){const{left:o,top:a,right:l,bottom:u}=e.viewBound;if(this.width+this.strokeWidth+this.left<o||l<this.left||this.height+this.strokeWidth+this.top<a||u<this.top)return this}const s=this.transform.getMatrix();return t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),(i=this._activeSubScene)==null||i.makeDirtyNoParent(!0).render(t),t.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(t){for(const[e,s]of this._subScenes)if(e===t)return s}addSubScene(t){this._activeSubScene=t,this._subScenes.set(t.sceneKey,t),this.makeDirty()}removeSubScene(t){const e=this._subScenes.get(t);this._subScenes.delete(t),this._activeSubScene===e&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(t){if(t==null)return;const e=this._subScenes.get(t);this._activeSubScene!==e&&(this._activeSubScene=e,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(t){var i;if(this._activeSubScene===void 0)return;const s=this.transform.clone().invert().applyPoint(t);return(i=this._activeSubScene)==null?void 0:i.pick(s)}dispose(){super.dispose(),this._subScenes.forEach(t=>{t.dispose()})}_initialProps(t){if(!t)return;const e=Object.keys(t);if(e.length===0)return;const s={};let i=!1;e.forEach(o=>{if(t[o]===void 0)return!0;s[o]=t[o],i=!0}),i&&this.transformByState(s),this.makeDirty(!0)}}const et=["hoverCursor","moveCursor","fillRule","globalCompositeOperation","paintFirst","stroke","strokeScaleEnabled","fill","fillAfterStrokeEnabled","hitStrokeWidth","strokeLineJoin","strokeLineCap","shadowColor","shadowBlur","shadowOffset","shadowOffsetX","shadowOffsetY","shadowOpacity","shadowEnabled","shadowForStrokeEnabled","strokeDashArray","strokeDashOffset","strokeMiterLimit"];class U1 extends w1{constructor(t,e){super(t);h(this,"_hoverCursor");h(this,"_moveCursor",null);h(this,"_fillRule","nonzero");h(this,"_globalCompositeOperation","source-over");h(this,"_paintFirst","fill");h(this,"_stroke");h(this,"_strokeScaleEnabled",!1);h(this,"_fill");h(this,"_fillAfterStrokeEnabled",!1);h(this,"_hitStrokeWidth",0);h(this,"_strokeLineJoin","round");h(this,"_strokeLineCap","round");h(this,"_shadowColor");h(this,"_shadowBlur",0);h(this,"_shadowOffset");h(this,"_shadowOffsetX",0);h(this,"_shadowOffsetY",0);h(this,"_shadowOpacity",0);h(this,"_shadowEnabled",!1);h(this,"_shadowForStrokeEnabled",!1);h(this,"_strokeDashArray");h(this,"_strokeDashOffset",0);h(this,"_strokeMiterLimit",0);h(this,"_type",i6.RECT);this._initialProps(e)}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(t,e){}static _renderPaintInOrder(t,e){e.paintFirst==="stroke"?(this._renderStroke(t,e),this._renderFill(t,e)):(this._renderFill(t,e),this._renderStroke(t,e))}static _renderFill(t,e){e.fill&&(t.save(),this._setFillStyles(t,e),e.fillRule==="evenodd"?t.fill("evenodd"):t.fill(),t.restore())}static _renderStroke(t,e){const{stroke:s,strokeWidth:i,shadowEnabled:o,shadowForStrokeEnabled:a,strokeScaleEnabled:l,parent:u}=e;let{scaleX:c,scaleY:_}=t.getScale();!s||i===0||(o&&!a&&this._removeShadow(t),t.save(),l===!1&&(c=c!=null?c:1,_=_!=null?_:1,t.scale(1/c,1/_)),this._setLineDash(t),this._setStrokeStyles(t,e),t.stroke(),t.restore())}static _getObjectScaling(){return{scaleX:1,scaleY:1}}static _removeShadow(t){}static _setFillStyles(t,e){t.fillStyle=e.fill}static _setStrokeStyles(t,e){const{strokeWidth:s,strokeLineCap:i,strokeDashOffset:o,strokeLineJoin:a,strokeMiterLimit:l,stroke:u}=e;t.lineWidth=s,t.lineCap=i,t.lineDashOffset=o,t.lineJoin=a,t.miterLimit=l,t.strokeStyle=u}static _setLineDash(t){}render(t,e){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(e)){const{top:i,left:o,bottom:a,right:l}=e.viewBound;if(this.width+this.strokeWidth+this.left<o||l<this.left||this.height+this.strokeWidth+this.top<i||a<this.top)return this}const s=this.transform.getMatrix();return t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(t),t.restore(),this.makeDirty(!1),this}setProps(t){if(!t)return;const e=Object.keys(t);if(e.length!==0)return e.forEach(s=>{if(t[s]===void 0)return!0;X2.indexOf(s)===-1&&(this[`_${s}`]=t[s])}),this.makeDirty(!0),this}toJson(){const t={};return et.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}_draw(t){}_initialProps(t){if(!t)return;const e=Object.keys(t);if(e.length===0)return;const s={};let i=!1;e.forEach(o=>{if(t[o]===void 0)return!0;X2.indexOf(o)>-1?(s[o]=t[o],i=!0):this[`_${o}`]=t[o]}),i&&this.transformByState(s),this.makeDirty(!0)}}const nt=["dataArray"];class D1 extends U1{constructor(t,e){super(t,e);h(this,"_dataArray",[]);h(this,"_pathLength",0);h(this,"_selfRectCache",{left:0,top:0,width:0,height:0});h(this,"_reCalculateCache",!0);e!=null&&e.data?this._dataArray=D1.parsePathData(e.data):e!=null&&e.dataArray&&(this._dataArray=e.dataArray);for(let s=0;s<this.dataArray.length;++s)this._pathLength+=this.dataArray[s].pathLength;this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,preValue:o}=s;if(i===t1.resize||i===t1.all){this._reCalculateCache=!0;const{left:a,top:l,width:u,height:c}=this._getSelfRect(),{width:_,height:f}=o;let m,C;_?m=this.width-_:m=0,f?C=this.height-f:C=0;const p=m/u,F=C/c;this.scaleX+=p,this.scaleY+=F,this.left=this.left-a*p,this.top=this.top-l*F,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(t,e){const s=e.dataArray;if(s){t.beginPath();for(let i=0;i<s.length;i++){const o=s[i].command,a=s[i].points;switch(o){case"L":t.lineTo(a[0],a[1]);break;case"M":t.moveTo(a[0],a[1]);break;case"C":t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":t.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":{const l=a[0],u=a[1],c=a[2],_=a[3],f=a[4],m=a[5],C=a[6],p=a[7],F=c>_?c:_,b=c>_?1:c/_,T=c>_?_/c:1;t.translate(l,u),t.rotate(C),t.scale(b,T),t.arc(0,0,F,f,f+m,!!(1-p)),t.scale(1/b,1/T),t.rotate(-C),t.translate(-l,-u);break}case"z":t.closePath();break}}this._renderPaintInOrder(t,e)}}static getLineLength(t,e,s,i){return Math.sqrt((s-t)*(s-t)+(i-e)*(i-e))}static getPointOnLine(t,e,s,i,o,a,l){a===void 0&&(a=e),l===void 0&&(l=s);const u=(o-s)/(i-e+1e-8);let c=Math.sqrt(t*t/(1+u*u));i<e&&(c*=-1);let _=u*c,f;if(i===e)f={x:a,y:l+_};else if((l-s)/(a-e+1e-8)===u)f={x:a+c,y:l+_};else{const m=this.getLineLength(e,s,i,o);let C=(a-e)*(i-e)+(l-s)*(o-s);C/=m*m;const p=e+C*(i-e),F=s+C*(o-s),b=this.getLineLength(a,l,p,F),T=Math.sqrt(t*t-b*b);c=Math.sqrt(T*T/(1+u*u)),i<e&&(c*=-1),_=u*c,f={x:p+c,y:F+_}}return f}static getPointOnCubicBezier(t,e,s,i,o,a,l,u,c){function _(b){return b*b*b}function f(b){return 3*b*b*(1-b)}function m(b){return 3*b*(1-b)*(1-b)}function C(b){return(1-b)*(1-b)*(1-b)}const p=u*_(t)+a*f(t)+i*m(t)+e*C(t),F=c*_(t)+l*f(t)+o*m(t)+s*C(t);return{x:p,y:F}}static getPointOnQuadraticBezier(t,e,s,i,o,a,l){function u(C){return C*C}function c(C){return 2*C*(1-C)}function _(C){return(1-C)*(1-C)}const f=a*u(t)+i*c(t)+e*_(t),m=l*u(t)+o*c(t)+s*_(t);return{x:f,y:m}}static getPointOnEllipticalArc(t,e,s,i,o,a){const l=Math.cos(a),u=Math.sin(a),c={x:s*Math.cos(o),y:i*Math.sin(o)};return{x:t+(c.x*l-c.y*u),y:e+(c.x*u+c.y*l)}}static parsePathData(t){if(!t)return[];let e=t;const s=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];e=e.replace(new RegExp(" ","g"),",");for(let f=0,m=s.length;f<m;f++)e=e.replace(new RegExp(s[f],"g"),`|${s[f]}`);const i=e.split("|"),o=[],a=[];let l=0,u=0;const c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let _;for(let f=1,m=i.length;f<m;f++){let C=i[f],p=C.charAt(0);for(C=C.slice(1),a.length=0;_=c.exec(C);)a.push(_[0]);const F=[];for(let b=0,T=a.length;b<T;b++){if(a[b]==="00"){F.push(0,0);continue}const y=Number.parseFloat(a[b]);isNaN(y)?F.push(0):F.push(y)}for(;F.length>0&&!isNaN(F[0]);){let b,T=[];const y=l,v=u;let $,B,w,O,A,I,R,x,k,N;switch(p){case"l":l+=F.shift()||0,u+=F.shift()||0,b="L",T.push(l,u);break;case"L":l=F.shift()||0,u=F.shift()||0,T.push(l,u);break;case"m":{const L=F.shift()||0,Y=F.shift()||0;if(l+=L,u+=Y,b="M",o.length>2&&o[o.length-1].command==="z"){for(let X=o.length-2;X>=0;X--)if(o[X].command==="M"){l=o[X].points[0]+L,u=o[X].points[1]+Y;break}}T.push(l,u),p="l";break}case"M":l=F.shift()||0,u=F.shift()||0,b="M",T.push(l,u),p="L";break;case"h":l+=F.shift()||0,b="L",T.push(l,u);break;case"H":l=F.shift()||0,b="L",T.push(l,u);break;case"v":u+=F.shift()||0,b="L",T.push(l,u);break;case"V":u=F.shift()||0,b="L",T.push(l,u);break;case"C":T.push(F.shift()||0,F.shift()||0,F.shift()||0,F.shift()||0),l=F.shift()||0,u=F.shift()||0,T.push(l,u);break;case"c":T.push(l+(F.shift()||0),u+(F.shift()||0),l+(F.shift()||0),u+(F.shift()||0)),l+=F.shift()||0,u+=F.shift()||0,b="C",T.push(l,u);break;case"S":B=l,w=u,$=o[o.length-1],$.command==="C"&&(B=l+(l-$.points[2]),w=u+(u-$.points[3])),T.push(B,w,F.shift()||0,F.shift()||0),l=F.shift()||0,u=F.shift()||0,b="C",T.push(l,u);break;case"s":B=l,w=u,$=o[o.length-1],$.command==="C"&&(B=l+(l-$.points[2]),w=u+(u-$.points[3])),T.push(B,w,l+(F.shift()||0),u+(F.shift()||0)),l+=F.shift()||0,u+=F.shift()||0,b="C",T.push(l,u);break;case"Q":T.push(F.shift()||0,F.shift()||0),l=F.shift()||0,u=F.shift()||0,T.push(l,u);break;case"q":T.push(l+(F.shift()||0),u+(F.shift()||0)),l+=F.shift()||0,u+=F.shift()||0,b="Q",T.push(l,u);break;case"T":B=l,w=u,$=o[o.length-1],$.command==="Q"&&(B=l+(l-$.points[0]),w=u+(u-$.points[1])),l=F.shift()||0,u=F.shift()||0,b="Q",T.push(B,w,l,u);break;case"t":B=l,w=u,$=o[o.length-1],$.command==="Q"&&(B=l+(l-$.points[0]),w=u+(u-$.points[1])),l+=F.shift()||0,u+=F.shift()||0,b="Q",T.push(B,w,l,u);break;case"A":O=F.shift()||0,A=F.shift()||0,I=F.shift()||0,R=F.shift()||0,x=F.shift()||0,k=l,N=u,l=F.shift()||0,u=F.shift()||0,b="A",T=this.convertEndpointToCenterParameterization(k,N,l,u,R,x,O,A,I);break;case"a":O=F.shift()||0,A=F.shift()||0,I=F.shift()||0,R=F.shift()||0,x=F.shift()||0,k=l,N=u,l+=F.shift()||0,u+=F.shift()||0,b="A",T=this.convertEndpointToCenterParameterization(k,N,l,u,R,x,O,A,I);break}o.push({command:b||p,points:T,start:{x:y,y:v},pathLength:this.calcLength(y,v,b||p,T)})}(p==="z"||p==="Z")&&o.push({command:"z",points:[],start:{x:0,y:0},pathLength:0})}return o}static calcLength(t,e,s,i){let o,a,l,u;const c=D1;switch(s){case"L":return c.getLineLength(t,e,i[0],i[1]);case"C":for(o=0,a=c.getPointOnCubicBezier(0,t,e,i[0],i[1],i[2],i[3],i[4],i[5]),u=.01;u<=1;u+=.01)l=c.getPointOnCubicBezier(u,t,e,i[0],i[1],i[2],i[3],i[4],i[5]),o+=c.getLineLength(a.x,a.y,l.x,l.y),a=l;return o;case"Q":for(o=0,a=c.getPointOnQuadraticBezier(0,t,e,i[0],i[1],i[2],i[3]),u=.01;u<=1;u+=.01)l=c.getPointOnQuadraticBezier(u,t,e,i[0],i[1],i[2],i[3]),o+=c.getLineLength(a.x,a.y,l.x,l.y),a=l;return o;case"A":{o=0;const _=i[4],f=i[5],m=i[4]+f;let C=Math.PI/180;if(Math.abs(_-m)<C&&(C=Math.abs(_-m)),a=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],_,0),f<0)for(u=_-C;u>m;u-=C)l=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),o+=c.getLineLength(a.x,a.y,l.x,l.y),a=l;else for(u=_+C;u<m;u+=C)l=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),o+=c.getLineLength(a.x,a.y,l.x,l.y),a=l;return l=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],m,0),o+=c.getLineLength(a.x,a.y,l.x,l.y),o}}return 0}static convertEndpointToCenterParameterization(t,e,s,i,o,a,l,u,c){const _=c*(Math.PI/180),f=Math.cos(_)*(t-s)/2+Math.sin(_)*(e-i)/2,m=-1*Math.sin(_)*(t-s)/2+Math.cos(_)*(e-i)/2,C=f*f/(l*l)+m*m/(u*u);C>1&&(l*=Math.sqrt(C),u*=Math.sqrt(C));let p=Math.sqrt((l*l*(u*u)-l*l*(m*m)-u*u*(f*f))/(l*l*(m*m)+u*u*(f*f)));o===a&&(p*=-1),isNaN(p)&&(p=0);const F=p*l*m/u,b=p*-u*f/l,T=(t+s)/2+Math.cos(_)*F-Math.sin(_)*b,y=(e+i)/2+Math.sin(_)*F+Math.cos(_)*b,v=R=>Math.sqrt(R[0]*R[0]+R[1]*R[1]),$=(R,x)=>(R[0]*x[0]+R[1]*x[1])/(v(R)*v(x)),B=(R,x)=>(R[0]*x[1]<R[1]*x[0]?-1:1)*Math.acos($(R,x)),w=B([1,0],[(f-F)/l,(m-b)/u]),O=[(f-F)/l,(m-b)/u],A=[(-1*f-F)/l,(-1*m-b)/u];let I=B(O,A);return $(O,A)<=-1&&(I=Math.PI),$(O,A)>=1&&(I=0),a===0&&I>0&&(I-=2*Math.PI),a===1&&I<0&&(I+=2*Math.PI),[T,y,l,u,w,I,_,a]}toJson(){const t={};return nt.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}getState(){const{left:t,top:e,width:s,height:i}=this.getRect();return{left:t,top:e,width:s,height:i,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left:t,top:e,width:s,height:i}=this._getSelfRect();return{left:t*this.scaleX+this.left,top:e*this.scaleY+this.top,width:s*this.scaleX,height:i*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(t){let e,s=0;const i=this.dataArray.length;if(!i)return null;for(;s<i&&t>this.dataArray[s].pathLength;)t-=this.dataArray[s].pathLength,++s;if(s===i)return e=this.dataArray[s-1].points.slice(-2),{x:e[0],y:e[1]};if(t<.01)return e=this.dataArray[s].points.slice(0,2),{x:e[0],y:e[1]};const o=this.dataArray[s],a=o.points;switch(o.command){case"L":return D1.getPointOnLine(t,o.start.x,o.start.y,a[0],a[1]);case"C":return D1.getPointOnCubicBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return D1.getPointOnQuadraticBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3]);case"A":{const l=a[0],u=a[1],c=a[2],_=a[3];let f=a[4];const m=a[5],C=a[6];return f+=m*t/o.pathLength,D1.getPointOnEllipticalArc(l,u,c,_,f,C)}}return null}_draw(t){D1.drawWith(t,this)}_setFixBoundingBox(){const{left:t,top:e,width:s,height:i}=this._getSelfRect(),o=this.width/s,a=this.height/i;this.left=this.left-t*o,this.top=this.top-e*a,this.scaleX=o,this.scaleY=a,this.width=s,this.height=i,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let t=[];this.dataArray.forEach(c=>{if(c.command==="A"){const _=c.points[4],f=c.points[5],m=c.points[4]+f;let C=Math.PI/180;if(Math.abs(_-m)<C&&(C=Math.abs(_-m)),f<0)for(let p=_-C;p>m;p-=C){const F=D1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],p,0);t.push(F.x,F.y)}else for(let p=_+C;p<m;p+=C){const F=D1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],p,0);t.push(F.x,F.y)}}else if(c.command==="C")for(let _=0;_<=1;_+=.01){const f=D1.getPointOnCubicBezier(_,c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3],c.points[4],c.points[5]);t.push(f.x,f.y)}else t=t.concat(c.points)});let e=t[0],s=t[0],i=t[1],o=t[1],a,l;for(let c=0;c<t.length/2;c++)a=t[c*2],l=t[c*2+1],isNaN(a)||(e=Math.min(e,a),s=Math.max(s,a)),isNaN(l)||(i=Math.min(i,l),o=Math.max(o,l));const u={left:e,top:i,width:s-e,height:o-i};return this._selfRectCache=u,u}}var st=(r=>(r.LEFT="__slideNavigationLeft__",r.RIGHT="__slideNavigationRight__",r))(st||{});const it="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";class D8 extends Q6{constructor(){super(...arguments);h(this,"onSlideChangePageByNavigationObservable",new D.Observable);h(this,"_navigationEnabled",!1)}activeFirstPage(){const e=this.getSubScenes().keys().next().value;e!=null&&this.changePage(e)}addPage(t){const e=t.sceneKey;this.getSubScene(e)==null&&(this.addSubScene(t),this.addNavigation())}changePage(t){t!==null&&(this.removeNavigation(),this.activeSubScene(t),this.addNavigation())}hasPage(t){return this.getSubScene(t)}addNavigation(){const t=this.getActiveSubScene();if(t==null||this._navigationEnabled===!1)return;const e=new D1("__slideNavigationLeft__",{data:it,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),s=new D1("__slideNavigationRight__",{data:it,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),i=(a,l)=>{a.setCursor(n1.POINTER),a.setProps({fill:this._getArrowColor(!0)})},o=(a,l)=>{a.setCursor(n1.DEFAULT),a.setProps({fill:this._getArrowColor()})};tt(e,i,o),tt(s,i,o),this._addNavTrigger(e,s),t.addObjects([e,s],7)}removeNavigation(){var e,s;const t=this.getActiveSubScene();t==null||this._navigationEnabled===!1||((e=t.getObject("__slideNavigationLeft__"))==null||e.dispose(),(s=t.getObject("__slideNavigationRight__"))==null||s.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var e,s;const t=this.getActiveSubScene();t==null||this._navigationEnabled===!1||((e=t.getObject("__slideNavigationLeft__"))==null||e.hide(),(s=t.getObject("__slideNavigationRight__"))==null||s.hide())}showNav(){var e,s;const t=this.getActiveSubScene();t==null||this._navigationEnabled===!1||((e=t.getObject("__slideNavigationLeft__"))==null||e.show(),(s=t.getObject("__slideNavigationRight__"))==null||s.show())}renderToThumb(t,e,s=1,i=1){const o=this.getSubScene(e);o!=null&&(t.save(),t.scale(s,i),o.makeDirtyNoParent(!0).render(t),t.restore())}_getSubScenesIndex(t){if(t==null)return;const e=Array.from(this.getSubScenes()),s=e.length;let i=0;for(let l=0;l<s;l++){const[u]=e[l];if(t===u){i=l;break}}let o=i+1,a=i-1;return o=o>=s?0:o,a=a<0?s-1:a,{nextScene:e[o][1],previousScene:e[a][1]}}_addNavTrigger(t,e){t.onPointerDownObserver.add(()=>{var o;const s=this._getSubScenesIndex((o=this.getActiveSubScene())==null?void 0:o.sceneKey),i=s==null?void 0:s.previousScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)}),e.onPointerDownObserver.add(()=>{var o;const s=this._getSubScenesIndex((o=this.getActiveSubScene())==null?void 0:o.sceneKey),i=s==null?void 0:s.nextScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)})}_getArrowColor(t=!1){return t?u1(D.COLORS.white,.8):u1(D.COLORS.white,.5)}}class d8 extends w1{constructor(n,t=s=>{},e){super(n),this._render=t,this._isHitCustom=e}toJson(){return{...super.toJson()}}render(n,t){if(!this.visible)return this.makeDirty(!1),this;if(t&&!this.isInGroup){const{top:s,left:i,bottom:o,right:a}=t.viewBound;if(this.width+this.strokeWidth<i||a<0||this.height+this.strokeWidth<s||o<0)return this}const e=this.transform.getMatrix();return n.save(),n.transform(e[0],e[1],e[2],e[3],e[4],e[5]),this._render(n),n.restore(),this.makeDirty(!1),this}isHit(n){return this._isHitCustom?this._isHitCustom(n):super.isHit(n)}}class rt extends D.Disposable{constructor(){super(...arguments);h(this,"onInputChangedObservable",new D.Observable);h(this,"onTransformChangeObservable",new D.Observable);h(this,"_scenes",{});h(this,"_activeScene",null)}get classType(){return H.ENGINE}get activeScene(){return this._activeScene}get width(){return 0}get height(){return 0}getScenes(){return this._scenes}getScene(t){return this._scenes[t]}hasScene(t){return t in this._scenes}addScene(t){const e=t.sceneKey;return this.hasScene(e)&&console.warn("Scenes has similar key, it will be covered"),this._scenes[e]=t,t}setActiveScene(t){const e=this.getScene(t);return e&&(this._activeScene=e),e}setRemainCapture(){}hasActiveScene(){return this._activeScene!=null}dispose(){super.dispose();const t=this.getScenes();Object.keys(t).forEach(s=>{t[s].dispose()})}remainScene(t){const e=this.getScenes();if(e[t]){const s=e[t];return delete e[t],s}}}class Z2 extends rt{constructor(t=1,e=1,s,i){super();h(this,"renderEvenInBackground",!0);h(this,"onBeginFrameObservable",new D.Observable);h(this,"onEndFrameObservable",new D.Observable);h(this,"_container");h(this,"_canvas");h(this,"_canvasEle");h(this,"_renderingQueueLaunched",!1);h(this,"_activeRenderLoops",new Array);h(this,"_renderFunction",()=>{});h(this,"_requestNewFrameHandler",-1);h(this,"_frameId",-1);h(this,"_usingSafari",B7());h(this,"_resizeObserver");h(this,"_fps",60);h(this,"_deltaTime",0);h(this,"_performanceMonitor",new K7);h(this,"_pointerMoveEvent");h(this,"_pointerDownEvent");h(this,"_pointerUpEvent");h(this,"_pointerBlurEvent");h(this,"_pointerWheelEvent");h(this,"_pointerEnterEvent");h(this,"_pointerLeaveEvent");h(this,"_remainCapture",-1);h(this,"pointer",{});h(this,"_mouseId",-1);h(this,"_isUsingFirefox",navigator.userAgent.indexOf("Firefox")!==-1);h(this,"_previousWidth",-1e3);h(this,"_previousHeight",-1e3);this._canvas=new Q1({mode:i,width:t,height:e,pixelRatio:s}),this._canvasEle=this._canvas.getCanvasEle(),this._handleKeyboardAction(),this._handlePointerAction(),i!==y6.Printing&&this._matchMediaHandler()}get width(){return this._canvas.getWidth()}get height(){return this._canvas.getHeight()}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(t){const e=this.getCanvas().getCanvasEle();e.style.cursor=t}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this._canvas.getCanvasEle()}setRemainCapture(){try{this._canvasEle.setPointerCapture(this._remainCapture)}catch{console.warn("no capture")}}getPixelRatio(){return this._canvas.getPixelRatio()}setContainer(t,e=!0){var s;if(this._container=t,this._container.appendChild(this._canvasEle),e){this.resize(),(s=this._resizeObserver)==null||s.unobserve(this._container);let i;this._resizeObserver=new ResizeObserver(()=>{i||(i=window.requestIdleCallback(()=>{this.resize(),i=void 0}))}),this._resizeObserver.observe(this._container),this.disposeWithMe(D.toDisposable(()=>{var o;(o=this._resizeObserver)==null||o.unobserve(this._container)}))}}resize(){if(!this._container)return;const{width:t,height:e}=N7(this._container);t===this._previousWidth&&e===this._previousHeight||(this._previousWidth=t,this._previousHeight=e,this.resizeBySize(t,e))}resizeBySize(t,e){const s=this.width,i=this.height;this._canvas.setSize(t,e),this.onTransformChangeObservable.notifyObservers({type:t1.resize,value:{width:t,height:e},preValue:{width:s,height:i}})}dispose(){super.dispose();const t=l6();this._canvasEle.removeEventListener(`${t}leave`,this._pointerLeaveEvent),this._canvasEle.removeEventListener(`${t}enter`,this._pointerEnterEvent),this._canvasEle.removeEventListener(`${t}move`,this._pointerMoveEvent),this._canvasEle.removeEventListener(`${t}down`,this._pointerDownEvent),this._canvasEle.removeEventListener(`${t}up`,this._pointerUpEvent),this._canvasEle.removeEventListener("blur",this._pointerBlurEvent),this._canvasEle.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._activeRenderLoops=[],this._canvas.dispose(),this.onBeginFrameObservable.clear(),this.onEndFrameObservable.clear(),this.onTransformChangeObservable.clear()}runRenderLoop(t){this._activeRenderLoops.indexOf(t)===-1&&(this._activeRenderLoops.push(t),this._renderingQueueLaunched||(this._renderingQueueLaunched=!0,this._renderFunction=this._renderLoop.bind(this),this._requestNewFrameHandler=D2(this._renderFunction)))}stopRenderLoop(t){if(!t){this._activeRenderLoops.length=0,this._cancelFrame();return}const e=this._activeRenderLoops.indexOf(t);e>=0&&(this._activeRenderLoops.splice(e,1),this._activeRenderLoops.length===0&&this._cancelFrame())}beginFrame(){this._measureFps(),this.onBeginFrameObservable.notifyObservers(this)}endFrame(){this._frameId++,this.onEndFrameObservable.notifyObservers(this)}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(){for(let t=0;t<this._activeRenderLoops.length;t++){const e=this._activeRenderLoops[t];e()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>"u"){if(typeof cancelAnimationFrame=="function")return cancelAnimationFrame(this._requestNewFrameHandler)}else{const{cancelAnimationFrame:t}=this._getHostWindow()||window;if(typeof t=="function")return t(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var t,e;return typeof window>"u"?null:(e=(t=this._canvasEle)==null?void 0:t.ownerDocument)!=null&&e.defaultView?this._canvasEle.ownerDocument.defaultView:window}_renderLoop(){let t=!0;this.renderEvenInBackground||(t=!1),t&&(this.beginFrame(),this._renderFrame(),this.endFrame()),this._activeRenderLoops.length>0?this._requestNewFrameHandler=D2(this._renderFunction):this._renderingQueueLaunched=!1}_measureFps(){this._performanceMonitor.sampleFrame(),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0}_handleKeyboardAction(){const t=s=>{const i=s;i.deviceType=p1.Keyboard,i.inputIndex=s.keyCode,i.previousState=0,i.currentState=1,this.onInputChangedObservable.notifyObservers(i)},e=s=>{const i=s;i.deviceType=p1.Keyboard,i.inputIndex=s.keyCode,i.previousState=1,i.currentState=0,this.onInputChangedObservable.notifyObservers(i)};this._canvasEle.addEventListener("keydown",t),this._canvasEle.addEventListener("keyup",e)}_handlePointerAction(){const t=l6();this._pointerMoveEvent=e=>{const s=this._getPointerType(e),i=this.pointer[M.Horizontal],o=this.pointer[M.Vertical],a=this.pointer[M.DeltaHorizontal],l=this.pointer[M.DeltaVertical];this.pointer[M.Horizontal]=e.clientX,this.pointer[M.Vertical]=e.clientY,this.pointer[M.DeltaHorizontal]=e.movementX,this.pointer[M.DeltaVertical]=e.movementY;const u=e;u.deviceType=s,i!==e.clientX&&(u.inputIndex=M.Horizontal,u.previousState=i,u.currentState=this.pointer[M.Horizontal],this.onInputChangedObservable.notifyObservers(u)),o!==e.clientY&&(u.inputIndex=M.Vertical,u.previousState=o,u.currentState=this.pointer[M.Vertical],this.onInputChangedObservable.notifyObservers(u)),this.pointer[M.DeltaHorizontal]!==0&&(u.inputIndex=M.DeltaHorizontal,u.previousState=a,u.currentState=this.pointer[M.DeltaHorizontal],this.onInputChangedObservable.notifyObservers(u)),this.pointer[M.DeltaVertical]!==0&&(u.inputIndex=M.DeltaVertical,u.previousState=l,u.currentState=this.pointer[M.DeltaVertical],this.onInputChangedObservable.notifyObservers(u)),!this._usingSafari&&e.button!==-1&&(u.inputIndex=e.button+2,u.previousState=this.pointer[e.button+2],this.pointer[e.button+2]=this.pointer[e.button+2]?0:1,u.currentState=this.pointer[e.button+2],this.onInputChangedObservable.notifyObservers(u))},this._pointerDownEvent=e=>{const s=e,i=this._getPointerType(s),o=this.pointer[M.Horizontal],a=this.pointer[M.Vertical],l=this.pointer[s.button+2];i===p1.Mouse?(this._mouseId===-1&&(s.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=s.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId,this._canvasEle.setPointerCapture(this._mouseId))):s.pointerId&&!document.pointerLockElement&&(this._remainCapture=s.pointerId,this._canvasEle.setPointerCapture(s.pointerId)),this.pointer[M.Horizontal]=s.clientX,this.pointer[M.Vertical]=s.clientY,this.pointer[s.button+2]=1;const u=s;u.deviceType=i,o!==s.clientX&&(u.inputIndex=M.Horizontal,u.previousState=o,u.currentState=this.pointer[M.Horizontal],this.onInputChangedObservable.notifyObservers(u)),a!==s.clientY&&(u.inputIndex=M.Vertical,u.previousState=a,u.currentState=this.pointer[M.Vertical],this.onInputChangedObservable.notifyObservers(u)),u.inputIndex=s.button+2,u.previousState=l,u.currentState=this.pointer[s.button+2],this.onInputChangedObservable.notifyObservers(u)},this._pointerUpEvent=e=>{const s=e,i=this._getPointerType(s),o=this.pointer[M.Horizontal],a=this.pointer[M.Vertical],l=this.pointer[s.button+2];this.pointer[M.Horizontal]=s.clientX,this.pointer[M.Vertical]=s.clientY,this.pointer[s.button+2]=0;const u=s;u.deviceType=i,o!==s.clientX&&(u.inputIndex=M.Horizontal,u.previousState=o,u.currentState=this.pointer[M.Horizontal],this.onInputChangedObservable.notifyObservers(u)),a!==s.clientY&&(u.inputIndex=M.Vertical,u.previousState=a,u.currentState=this.pointer[M.Vertical],this.onInputChangedObservable.notifyObservers(u)),u.inputIndex=s.button+2,u.previousState=l,u.currentState=this.pointer[s.button+2],i===p1.Mouse&&this._mouseId>=0&&this._canvasEle.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,this._canvasEle.releasePointerCapture(this._mouseId)):u.pointerId&&this._canvasEle.hasPointerCapture(u.pointerId)&&(this._remainCapture=u.pointerId,this._canvasEle.releasePointerCapture(u.pointerId)),this.onInputChangedObservable.notifyObservers(u),i!==p1.Mouse&&(this.pointer={})},this._pointerEnterEvent=e=>{const s=this._getPointerType(e),i=e;i.deviceType=s,i.currentState=2,this.onInputChangedObservable.notifyObservers(i)},this._pointerLeaveEvent=e=>{const s=this._getPointerType(e),i=e;i.deviceType=s,i.currentState=3,this.onInputChangedObservable.notifyObservers(i)},this._pointerBlurEvent=e=>{this._mouseId>=0&&this._canvasEle.hasPointerCapture(this._mouseId)&&(this._canvasEle.releasePointerCapture(this._mouseId),this._remainCapture=this._mouseId,this._mouseId=-1),this.pointer={}},this._pointerWheelEvent=e=>{const s=p1.Mouse,i=this.pointer[M.MouseWheelX],o=this.pointer[M.MouseWheelY],a=this.pointer[M.MouseWheelZ];this.pointer[M.MouseWheelX]=e.deltaX||0,this.pointer[M.MouseWheelY]=e.deltaY||e.wheelDelta||0,this.pointer[M.MouseWheelZ]=e.deltaZ||0;const l=e;l.deviceType=s,this.pointer[M.MouseWheelX]!==0&&(l.inputIndex=M.MouseWheelX,l.previousState=i,l.currentState=this.pointer[M.MouseWheelX],this.onInputChangedObservable.notifyObservers(l)),this.pointer[M.MouseWheelY]!==0&&(l.inputIndex=M.MouseWheelY,l.previousState=o,l.currentState=this.pointer[M.MouseWheelY],this.onInputChangedObservable.notifyObservers(l)),this.pointer[M.MouseWheelZ]!==0&&(l.inputIndex=M.MouseWheelZ,l.previousState=a,l.currentState=this.pointer[M.MouseWheelZ],this.onInputChangedObservable.notifyObservers(l))},this._canvasEle.addEventListener(`${t}enter`,this._pointerEnterEvent),this._canvasEle.addEventListener(`${t}leave`,this._pointerLeaveEvent),this._canvasEle.addEventListener(`${t}move`,this._pointerMoveEvent),this._canvasEle.addEventListener(`${t}down`,this._pointerDownEvent),this._canvasEle.addEventListener(`${t}up`,this._pointerUpEvent),this._canvasEle.addEventListener("blur",this._pointerBlurEvent),this._canvasEle.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_getWheelEventName(){return"onwheel"in document.createElement("div")?"wheel":document.onmousewheel!==void 0?"mousewheel":"DOMMouseScroll"}_getPassive(){let t=!1;const e=()=>{};try{const s={passive:{get(){t=!0}}};this._canvasEle.addEventListener("test",e,s),this._canvasEle.removeEventListener("test",e,s)}catch{}return t}_getPointerType(t){let e=p1.Mouse;return(t.pointerType==="touch"||t.pointerType==="pen"||t.touches)&&(e=p1.Touch),e}_matchMediaHandler(){if(!(window!=null&&window.matchMedia))return;const t=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),e=()=>{this.resize()};t.addEventListener("change",e),this.disposeWithMe(D.toDisposable(()=>{t.removeEventListener("change",e)}))}}class ot extends w1{constructor(t,...e){super(t);h(this,"_objects",[]);this.addObjects(...e)}get classType(){return H.GROUP}set cursor(t){this.setCursor(t)}addObjects(...t){for(const e of t)this.addObject(e)}addObject(t){let e=t;if(h6(t)){const s=this.getScene();if(e=s==null?void 0:s.getObject(t),!e)return;e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}else t.parent=this,t.isInGroup=!0,t.groupKey=this.oKey,this._objects.push(t)}removeObject(t){const e=this.getObjects(),s=e.length;if(h6(t))for(let i=0;i<s;i++){const o=e[i];if(o.oKey===t){e.splice(i,1),this.parent.removeObject(o);return}}else for(let i=0;i<s;i++){const o=e[i];if(o===t){e.splice(i,1),this.parent.removeObject(o);return}}}getObjectsByOrder(){const t=[];this._objects.sort(D.sortRules);for(const e of this._objects)!e.isInGroup&&e.visible&&t.push(e);return t}getObjects(){return this._objects}render(t,e){t.save();const s=this.transform.getMatrix();t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._objects.sort(D.sortRules);for(const i of this._objects)i.render(t,this._transformBounds(e));t.restore()}resize(t,e){return this}scale(t,e){return this}skew(t,e){return this}flip(t,e){return this}isHit(t){return!0}pick(t){}dispose(){this.getObjects().forEach(t=>{t.dispose()}),super.dispose()}_transformBounds(t){return t}}class at extends D.Disposable{constructor(t,e=[],s=1,i=!1){super();h(this,"_objects",[]);h(this,"_cacheCanvas");h(this,"_dirty",!0);this._scene=t,this._zIndex=s,this._allowCache=i,this.addObjects(e),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var t;this._allowCache=!1,(t=this._cacheCanvas)==null||t.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){const t=[];this._objects.sort(D.sortRules);for(const e of this._objects)!e.isInGroup&&e.visible&&t.push(e);return t}getObjectsByOrderForPick(){const t=[];this._objects.sort(D.sortRules);for(const e of this._objects)e.classType!==H.GROUP&&e.visible&&t.push(e);return t}getObjects(){return this._objects}addObject(t){if(t.classType===H.GROUP){const e=t.getObjects();for(const s of e)this.scene.getObject(s.oKey)||(this._objects.push(s),this.scene.setObjectBehavior(s),this._layerBehavior(s))}return this._objects.push(t),this.scene.setObjectBehavior(t),this._layerBehavior(t),this.scene.applyTransformer(t),this}removeObject(t){const e=this.getObjects(),s=e.length;if(t instanceof w1){for(let i=0;i<s;i++)if(e[i]===t){e.splice(i,1);return}}else for(let i=0;i<s;i++)if(e[i].oKey===t){e.splice(i,1);return}}addObjects(t){return t.forEach(e=>{this.addObject(e)}),this}removeObjects(t){const e=this.getObjects(),s=e.length;for(let i=s-1;i>=0;i--){let o=e[i];const a=t.length;if(a===0)break;for(let l=0;l<a;l++){const u=t[l];if(o=u instanceof w1?o:o.oKey,o===u){e.splice(i,1);break}}}}makeDirty(t=!0){this._dirty=t;const e=this.scene.getParent();return e.classType===H.SCENE_VIEWER&&e.makeDirty(!0),this}isDirty(){return this._dirty}render(t,e=!1){var i;const s=t||((i=this._scene.getEngine())==null?void 0:i.getCanvas().getContext());if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){const o=this._cacheCanvas.getContext();this._cacheCanvas.clear(),o.save(),o.setTransform(s.getTransform()),this._draw(o,e),o.restore()}this._applyCache(s)}else s.save(),this._draw(s,e),s.restore();return this.makeDirty(!1),this}_layerBehavior(t){this.disposeWithMe(D.toDisposable(t.onTransformChangeObservable.add(()=>{this.makeDirty(!0)}))),t.layer=this}_initialCacheCanvas(){this._cacheCanvas=new Q1,this.disposeWithMe(D.toDisposable(this._scene.getEngine().onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()})))}_draw(t,e){var s;(s=this._scene.getViewports())==null||s.forEach(i=>i.render(t,this.getObjectsByOrder(),e))}_applyCache(t){if(!t||this._cacheCanvas==null)return;const e=this._cacheCanvas.getWidth(),s=this._cacheCanvas.getHeight();t.drawImage(this._cacheCanvas.getCanvasEle(),0,0,e,s)}_resizeCacheCanvas(){var e;const t=this._scene.getEngine();(e=this._cacheCanvas)==null||e.setSize(t.width,t.height),this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var t;super.dispose(),this.getObjects().forEach(e=>{e.dispose()}),this.clear(),(t=this._cacheCanvas)==null||t.dispose()}}var ut=(r=>(r[r.NONE=0]="NONE",r[r.X=1]="X",r[r.Y=2]="Y",r[r.ALL=3]="ALL",r))(ut||{});class s2{constructor(n,t=3,e,s=.4,i=.1){h(this,"_requestNewFrameNumber",-1);h(this,"_viewport");h(this,"_offsetX",0);h(this,"_offsetY",0);h(this,"_moveX",0);h(this,"_moveY",0);h(this,"_scrollX",0);h(this,"_scrollY",0);h(this,"_scrollFunction");this._scene=n,this._scrollTimerType=t,this._padding=e,this._smoothRatioX=s,this._smoothRatioY=i,this._padding||(this._padding={t:0,b:15,l:0,r:60})}static create(n,t=3,e){return new s2(n,t,e)}set scrollTimerType(n){this._scrollTimerType=n}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(n){this._viewport=n}getActiveViewport(){return this._viewport}startScroll(n,t,e){this._offsetX=n,this._offsetY=t,this._moveX=n,this._moveY=t,e!=null?this._viewport=e:this._viewport=this.getViewportByCoord(this._scene),this._runRenderLoop()}_scroll(n){const t=(n==null?void 0:n.top)||0,e=t+((n==null?void 0:n.height)||0),s=(n==null?void 0:n.left)||0,i=s+((n==null?void 0:n.width)||0),{t:o=0,b:a=0,r:l=0,l:u=0}=this._padding;let c=0,_=0,f=!1;if(this._scrollTimerType&1&&(this._moveX<s+u&&(c=(this._moveX-s-u)*this._smoothRatioX,f=!0),this._moveX>i-l&&(c=(this._moveX-i+l)*this._smoothRatioX,f=!0)),this._scrollTimerType&2&&(this._moveY<t+o&&(_=(this._moveY-t-o)*this._smoothRatioY,f=!0),this._moveY>e-a&&(_=(this._moveY-e+a)*this._smoothRatioY,f=!0)),!f)return;const m=n==null?void 0:n.scrollBy({x:c,y:_}),C=n==null?void 0:n.getActualScroll(c,_);if(this._scrollX=(C==null?void 0:C.x)||0,this._scrollY=(C==null?void 0:C.y)||0,m){const p=this._findAncestorScene(n==null?void 0:n.scene),F=this.getViewportByCoord(p);F&&this._scroll(F)}}scrolling(n,t,e){this._moveX=n,this._moveY=t,this._scrollFunction=e}stopScroll(){v7(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getViewportByCoord(n){return n==null?void 0:n.getActiveViewportByRelativeCoord(P.FromArray([this._offsetX,this._offsetY]))}getScene(){return this._scene}_runRenderLoop(){this._scroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=D2(this._runRenderLoop.bind(this))}_findAncestorScene(n){let t=n==null?void 0:n.getParent();for(;t;){if(t.classType===H.SCENE)return t;t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent())}}}const lt=["radius"];class F1 extends U1{constructor(t,e){super(t,e);h(this,"_radius",0);e!=null&&e.radius&&(this._radius=e.radius)}get radius(){return this._radius}static drawWith(t,e){let{radius:s,width:i,height:o}=e;if(s=s!=null?s:0,i=i!=null?i:30,o=o!=null?o:30,t.beginPath(),e.strokeDashArray&&t.setLineDash(e.strokeDashArray),!s)t.rect(0,0,i,o);else{let a=0,l=0,u=0,c=0;a=l=u=c=Math.min(s,i/2,o/2),t.moveTo(a,0),t.lineTo(i-l,0),t.arc(i-l,l,l,Math.PI*3/2,0,!1),t.lineTo(i,o-c),t.arc(i-c,o-c,c,0,Math.PI/2,!1),t.lineTo(u,o),t.arc(u,o-u,u,Math.PI/2,Math.PI,!1),t.lineTo(0,a),t.arc(a,a,a,Math.PI,Math.PI*3/2,!1)}t.closePath(),this._renderPaintInOrder(t,e)}toJson(){const t={};return lt.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}_draw(t){F1.drawWith(t,this)}}const f8=["__SpreadsheetTransformerResizeLT__","__SpreadsheetTransformerResizeCT__","__SpreadsheetTransformerResizeRT__","__SpreadsheetTransformerResizeLM__","__SpreadsheetTransformerResizeRM__","__SpreadsheetTransformerResizeLB__","__SpreadsheetTransformerResizeCB__","__SpreadsheetTransformerResizeRB__"];class g8 extends D.Disposable{constructor(t,e){super();h(this,"hoverEnabled",!1);h(this,"hoverEnterFunc");h(this,"hoverLeaveFunc");h(this,"resizeEnabled",!0);h(this,"rotateEnabled",!0);h(this,"rotationSnaps",[]);h(this,"rotationSnapTolerance",5);h(this,"rotateAnchorOffset",50);h(this,"rotateSize",10);h(this,"rotateCornerRadius",10);h(this,"borderEnabled",!0);h(this,"borderStroke","rgb(97, 97, 97)");h(this,"borderStrokeWidth",1);h(this,"borderDash",[]);h(this,"borderSpacing",10);h(this,"anchorFill","rgb(255,255,255)");h(this,"anchorStroke","rgb(185,185,185)");h(this,"anchorStrokeWidth",1);h(this,"anchorSize",10);h(this,"anchorCornerRadius",10);h(this,"keepRatio",!0);h(this,"centeredScaling",!1);h(this,"enabledAnchors",[1,1,1,1,1,1,1,1]);h(this,"flipEnabled",!1);h(this,"ignoreStroke",!1);h(this,"boundBoxFunc");h(this,"useSingleNodeRotation",!1);h(this,"shouldOverdrawWholeArea",!1);h(this,"onChangeStartObservable",new D.Observable);h(this,"onChangingObservable",new D.Observable);h(this,"onChangeEndObservable",new D.Observable);h(this,"onClearControlObservable",new D.Observable);h(this,"onCreateControlObservable",new D.Observable);h(this,"_startOffsetX",-1);h(this,"_startOffsetY",-1);h(this,"_viewportScrollX",-1);h(this,"_viewportScrollY",-1);h(this,"_moveObserver");h(this,"_upObserver");h(this,"_cancelFocusObserver");h(this,"_transformerControlMap",new Map);h(this,"_selectedObjectMap",new Map);this._scene=t,this._initialProps(e)}getScene(){return this._scene}hideControl(){this._hideControl()}attachTo(t){if(t.isTransformer)return this.hoverEnabled&&(this.hoverEnterFunc&&t.onPointerEnterObserver.add(this.hoverEnterFunc),this.hoverLeaveFunc&&t.onPointerLeaveObserver.add(this.hoverLeaveFunc)),this.disposeWithMe(D.toDisposable(t.onPointerDownObserver.add((e,s)=>{const{offsetX:i,offsetY:o}=e;this._startOffsetX=i,this._startOffsetY=o;const a=this._getTopScene();if(!a)return;this._addCancelObserver(a),a.disableEvent();const l=s2.create(a);l.startScroll(i,o);const{scrollX:u,scrollY:c}=q1(l);this._viewportScrollX=u,this._viewportScrollY=c,this._updateActiveObjectList(t,e),this._moveObserver=a.onPointerMoveObserver.add(_=>{const{offsetX:f,offsetY:m}=_;this._moving(f,m,l),this._hideControl(),l.scrolling(f,m,()=>{this._moving(f,m,l)})}),this._upObserver=a.onPointerUpObserver.add(()=>{a.onPointerMoveObserver.remove(this._moveObserver),a.onPointerUpObserver.remove(this._upObserver),a.enableEvent(),this._updateControl(),l.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),s.stopPropagation()}))),t}dispose(){var t,e,s;(t=this._moveObserver)==null||t.dispose(),(e=this._upObserver)==null||e.dispose(),(s=this._cancelFocusObserver)==null||s.dispose(),this._moveObserver=null,this._upObserver=null,this._cancelFocusObserver=null,this._transformerControlMap.forEach(i=>{i.dispose()}),this._selectedObjectMap.forEach(i=>{i.dispose()}),this.onChangeStartObservable.clear(),this.onChangingObservable.clear(),this.onChangeEndObservable.clear()}_initialProps(t){if(!t)return;const e=Object.keys(t);e.length!==0&&e.forEach(s=>{if(t[s]===void 0)return!0;this[s]=t[s]})}_updateControlChildren(){this._updateControlIterator((t,e)=>{const{left:s,top:i,width:o,height:a,scaleX:l,scaleY:u}=e.getState();t.getObjects().forEach(_=>{const f=_.oKey,m=this._checkTransformerType(f);if(!m)return!0;if(m==="__SpreadsheetTransformerOutline__")_.transformByState(this._getOutlinePosition(o,a,l,u));else{const{left:C,top:p}=this._getRotateAnchorPosition(m,a,o);_.transformByState({left:C,top:p})}}),t.transformByState({left:s,top:i})})}_anchorMoving(t,e,s,i){const{scrollX:o,scrollY:a}=q1(i),l=e-this._viewportScrollX+o,u=s-this._viewportScrollY+a,c=l-this._startOffsetX,_=u-this._startOffsetY;this._selectedObjectMap.forEach(f=>{const{left:m,top:C,width:p,height:F}=f,b={};switch(t){case"__SpreadsheetTransformerResizeLT__":b.left=m+c,b.top=C+_,b.width=p-c,b.height=F-_;break;case"__SpreadsheetTransformerResizeCT__":b.top=C+_,b.height=F-_;break;case"__SpreadsheetTransformerResizeRT__":b.top=C+_,b.width=p+c,b.height=F-_;break;case"__SpreadsheetTransformerResizeLM__":b.left=m+c,b.width=p-c;break;case"__SpreadsheetTransformerResizeRM__":b.width=c+p;break;case"__SpreadsheetTransformerResizeLB__":b.left=m+c,b.width=p-c,b.height=F+_;break;case"__SpreadsheetTransformerResizeCB__":b.height=_+F;break;case"__SpreadsheetTransformerResizeRB__":b.width=c+p,b.height=_+F;break}f.transformByState(b)}),this._updateControlChildren(),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:c,moveY:_,type:1}),this._startOffsetX=l,this._startOffsetY=u}_attachEventToAnchor(t,e="__SpreadsheetTransformerResizeLT__"){this.disposeWithMe(D.toDisposable(t.onPointerDownObserver.add((s,i)=>{const{offsetX:o,offsetY:a}=s;this._startOffsetX=o,this._startOffsetY=a;const l=this._getTopScene();if(l==null)return;l.disableEvent();const u=s2.create(l);u.startScroll(o,a);const{scrollX:c,scrollY:_}=q1(u);this._viewportScrollX=c,this._viewportScrollY=_;const f=this._getRotateAnchorCursor(e);this._moveObserver=l.onPointerMoveObserver.add(m=>{const{offsetX:C,offsetY:p}=m;this._anchorMoving(e,C,p,u),u.scrolling(C,p,()=>{this._anchorMoving(e,C,p,u)}),l.setCursor(f)}),this._upObserver=l.onPointerUpObserver.add(()=>{l.onPointerMoveObserver.remove(this._moveObserver),l.onPointerUpObserver.remove(this._upObserver),l.enableEvent(),l.resetCursor(),u.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),i.stopPropagation()})))}_attachEventToRotate(t){this.disposeWithMe(D.toDisposable(t.onPointerDownObserver.add((e,s)=>{const{offsetX:i,offsetY:o}=e;this._startOffsetX=i,this._startOffsetY=o;const a=this._getTopScene();a!=null&&(a.disableEvent(),this._viewportScrollX=scrollX,this._viewportScrollY=scrollY,this._upObserver=a.onPointerUpObserver.add(()=>{a.onPointerMoveObserver.remove(this._moveObserver),a.onPointerUpObserver.remove(this._upObserver),a.enableEvent()}),s.stopPropagation())})))}_getOutlinePosition(t,e,s,i){return{left:-this.borderSpacing-this.borderStrokeWidth,top:-this.borderSpacing-this.borderStrokeWidth,width:t+this.borderSpacing*2,height:e+this.borderSpacing*2}}_getRotateAnchorCursor(t){let e=n1.NORTH_WEST_RESIZE;switch(t){case"__SpreadsheetTransformerRotate__":e=n1.MOVE;break;case"__SpreadsheetTransformerRotateLine__":e=n1.MOVE;break;case"__SpreadsheetTransformerResizeLT__":break;case"__SpreadsheetTransformerResizeCT__":e=n1.NORTH_RESIZE;break;case"__SpreadsheetTransformerResizeRT__":e=n1.NORTH_EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLM__":e=n1.WEST_RESIZE;break;case"__SpreadsheetTransformerResizeRM__":e=n1.EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLB__":e=n1.SOUTH_WEST_RESIZE;break;case"__SpreadsheetTransformerResizeCB__":e=n1.SOUTH_RESIZE;break;case"__SpreadsheetTransformerResizeRB__":e=n1.SOUTH_EAST_RESIZE;break}return e}_getRotateAnchorPosition(t,e,s){let i=-this.anchorSize/2,o=-this.anchorSize/2;switch(t){case"__SpreadsheetTransformerRotate__":i=s/2-this.rotateSize/2,o=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth*2-this.rotateSize;break;case"__SpreadsheetTransformerRotateLine__":i=s/2,o=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLT__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCT__":i+=s/2,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRT__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLM__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=e/2;break;case"__SpreadsheetTransformerResizeRM__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=e/2;break;case"__SpreadsheetTransformerResizeLB__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=e+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCB__":i+=s/2,o+=e+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRB__":i+=s+this.borderSpacing-this.borderStrokeWidth,o+=e+this.borderSpacing-this.borderStrokeWidth;break}return{left:i,top:o}}_createResizeAnchor(t,e,s){const{height:i,width:o,scaleX:a,scaleY:l}=e.getState(),{left:u,top:c}=this._getRotateAnchorPosition(t,i,o),_=this._getRotateAnchorCursor(t),f=new F1(`${t}_${s}`,{zIndex:s-1,fill:this.anchorFill,stroke:this.anchorStroke,strokeWidth:this.anchorStrokeWidth,width:this.anchorSize,height:this.anchorSize,radius:this.anchorCornerRadius,left:u,top:c});return this._attachHover(f,_,n1.DEFAULT),f}_checkTransformerType(t){if(t.indexOf("__SpreadsheetTransformerOutline__")>-1)return"__SpreadsheetTransformerOutline__";if(t.indexOf("__SpreadsheetTransformerRotate__")>-1)return"__SpreadsheetTransformerRotate__";if(t.indexOf("__SpreadsheetTransformerRotateLine__")>-1)return"__SpreadsheetTransformerRotateLine__";if(t.indexOf("__SpreadsheetTransformerResizeLT__")>-1)return"__SpreadsheetTransformerResizeLT__";if(t.indexOf("__SpreadsheetTransformerResizeCT__")>-1)return"__SpreadsheetTransformerResizeCT__";if(t.indexOf("__SpreadsheetTransformerResizeRT__")>-1)return"__SpreadsheetTransformerResizeRT__";if(t.indexOf("__SpreadsheetTransformerResizeLM__")>-1)return"__SpreadsheetTransformerResizeLM__";if(t.indexOf("__SpreadsheetTransformerResizeRM__")>-1)return"__SpreadsheetTransformerResizeRM__";if(t.indexOf("__SpreadsheetTransformerResizeLB__")>-1)return"__SpreadsheetTransformerResizeLB__";if(t.indexOf("__SpreadsheetTransformerResizeCB__")>-1)return"__SpreadsheetTransformerResizeCB__";if(t.indexOf("__SpreadsheetTransformerResizeRB__")>-1)return"__SpreadsheetTransformerResizeRB__"}_updateControlIterator(t){this._transformerControlMap.forEach((e,s)=>{const i=this._selectedObjectMap.get(s);if(!i)return!0;t(e,i)})}_updateControl(){this._updateControlIterator((t,e)=>{const{left:s,top:i}=e.getState();t.transformByState({left:s,top:i}),t.show(),t.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(t=>{t.hide(),t.makeDirty(!0)})}_attachHover(t,e,s){this.disposeWithMe(D.toDisposable(t.onPointerEnterObserver.add(()=>{t.cursor=e}))),this.disposeWithMe(D.toDisposable(t.onPointerLeaveObserver.add(()=>{t.cursor=s})))}_clearControl(){this._transformerControlMap.forEach(t=>{t.dispose()}),this._transformerControlMap.clear(),this.onClearControlObservable.notifyObservers(null)}_createControl(t){const{left:e,top:s,height:i,width:o,angle:a,scaleX:l,scaleY:u,skewX:c,skewY:_,flipX:f,flipY:m}=t.getState(),C=t.oKey,p=this._selectedObjectMap.size,F=[];if(this.borderEnabled){const y=new F1(`__SpreadsheetTransformerOutline___${p}`,{zIndex:p-1,evented:!1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke,...this._getOutlinePosition(o,i,l,u)});F.push(y)}if(this.resizeEnabled){const{left:y,top:v}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotateLine__",i,o),$=new F1(`__SpreadsheetTransformerRotateLine___${p}`,{zIndex:p-1,evented:!1,left:y,top:v,height:this.rotateAnchorOffset,width:1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke}),{left:B,top:w}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotate__",i,o),O=this._getRotateAnchorCursor("__SpreadsheetTransformerRotate__"),A=new F1(`__SpreadsheetTransformerRotate___${p}`,{zIndex:p-1,left:B,top:w,height:this.rotateSize,width:this.rotateSize,radius:this.rotateCornerRadius,strokeWidth:this.borderStrokeWidth*2,stroke:this.borderStroke});this._attachEventToRotate(A),this._attachHover(A,O,n1.DEFAULT),F.push($,A)}if(this.resizeEnabled)for(let y=0,v=this.enabledAnchors.length;y<v;y++){if(this.enabledAnchors[y]!==1)continue;const B=f8[y],w=this._createResizeAnchor(B,t,p);this._attachEventToAnchor(w,B),F.push(w)}const b=new ot(`__SpreadsheetTransformer___${p}`,...F);return b.zIndex=p,b.evented=!1,b.transformByState({left:e,top:s}),this.getScene().addObject(b,2),this._transformerControlMap.set(C,b),this.onCreateControlObservable.notifyObservers(b),b}_getTopScene(){var e;return(e=this.getScene().getEngine())==null?void 0:e.activeScene}_moving(t,e,s){const{scrollX:i,scrollY:o}=q1(s),a=t-this._viewportScrollX+i,l=e-this._viewportScrollY+o,u=a-this._startOffsetX,c=l-this._startOffsetY;this._selectedObjectMap.forEach(_=>{_.translate(u+_.left,c+_.top)}),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:u,moveY:c,type:1}),this._startOffsetX=a,this._startOffsetY=l}_updateActiveObjectList(t,e){this._selectedObjectMap.has(t.oKey)||(e.ctrlKey||(this._selectedObjectMap.clear(),this._clearControl()),this._selectedObjectMap.set(t.oKey,t),this._createControl(t))}_addCancelObserver(t){t.onPointerDownObserver.remove(this._cancelFocusObserver),this._cancelFocusObserver=t.onPointerDownObserver.add(()=>{this._selectedObjectMap.clear(),this._clearControl(),t.onPointerDownObserver.remove(this._cancelFocusObserver)})}}const b1=class b1 extends D.Disposable{constructor(t){super();h(this,"_alreadyAttached",!1);h(this,"_onInputObserver");h(this,"_onPointerMove");h(this,"_onPointerDown");h(this,"_onPointerUp");h(this,"_onPointerEnter");h(this,"_onPointerLeave");h(this,"_onMouseWheel");h(this,"_onKeyDown");h(this,"_onKeyUp");h(this,"_scene");h(this,"_currentMouseEnterPicked");h(this,"_startingPosition",new P(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY));h(this,"_delayedTimeout",-1);h(this,"_delayedTripeTimeout",-1);h(this,"_doubleClickOccurred",0);h(this,"_tripleClickState",!1);h(this,"_currentObject");this._scene=t}mouseLeaveEnterHandler(t){var s;const e=this._currentObject;if(e==null)(s=this._currentMouseEnterPicked)==null||s.triggerPointerLeave(t),this._currentMouseEnterPicked=null;else if(e!==this._currentMouseEnterPicked){const i=this._currentMouseEnterPicked;this._currentMouseEnterPicked=e,i==null||i.triggerPointerLeave(t),e==null||e.triggerPointerEnter(t)}}attachControl(t=!0,e=!0,s=!0,i=!0,o=!0,a=!0){const l=this._scene.getEngine();l&&(this._onPointerEnter=u=>{var c;u.pointerId===void 0&&(u.pointerId=0),this._currentObject=this._getCurrentObject(u.offsetX,u.offsetY),(c=this._currentObject)==null||c.triggerPointerMove(u),this.mouseLeaveEnterHandler(u)},this._onPointerLeave=u=>{u.pointerId===void 0&&(u.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(u)},this._onPointerMove=u=>{var _;u.pointerId===void 0&&(u.pointerId=0),this._currentObject=this._getCurrentObject(u.offsetX,u.offsetY);const c=(_=this._currentObject)==null?void 0:_.triggerPointerMove(u);this.mouseLeaveEnterHandler(u),this._checkDirectSceneEventTrigger(!c,this._currentObject)&&this._scene.onPointerMoveObserver.hasObservers()&&this._scene.onPointerMoveObserver.notifyObservers(u)},this._onPointerDown=u=>{u.pointerId===void 0&&(u.pointerId=0);const c=this._getCurrentObject(u.offsetX,u.offsetY),_=c==null?void 0:c.triggerPointerDown(u);this._checkDirectSceneEventTrigger(!_,c)&&this._scene.onPointerDownObserver.hasObservers()&&this._scene.onPointerDownObserver.notifyObservers(u)},this._onPointerUp=u=>{u.pointerId===void 0&&(u.pointerId=0);const c=this._getCurrentObject(u.offsetX,u.offsetY),_=c==null?void 0:c.triggerPointerUp(u);this._checkDirectSceneEventTrigger(!_,c)&&this._scene.onPointerUpObserver.hasObservers()&&this._scene.onPointerUpObserver.notifyObservers(u),this._prePointerDoubleOrTripleClick(u)},this._onMouseWheel=u=>{const c=this._getCurrentObject(u.offsetX,u.offsetY),_=c==null?void 0:c.triggerMouseWheel(u);this._scene.getViewports().forEach(f=>{f.onMouseWheelObserver.hasObservers()&&f.onMouseWheelObserver.notifyObservers(u)}),this._checkDirectSceneEventTrigger(!_,c)&&this._scene.onMouseWheelObserver.hasObservers()&&this._scene.onMouseWheelObserver.notifyObservers(u)},this._onKeyDown=u=>{this._scene.onKeyDownObservable.hasObservers()&&this._scene.onKeyDownObservable.notifyObservers(u)},this._onKeyUp=u=>{this._scene.onKeyUpObservable.hasObservers()&&this._scene.onKeyUpObservable.notifyObservers(u)},this._onInputObserver=l.onInputChangedObservable.add(u=>{const c=u;u.deviceType===p1.Keyboard&&(u.currentState===1&&this._onKeyDown(c),u.currentState===0&&this._onKeyUp(c)),(u.deviceType===p1.Mouse||u.deviceType===p1.Touch)&&(t&&u.inputIndex>=M.LeftClick&&u.inputIndex<=M.RightClick&&u.currentState===1&&this._onPointerDown(c),e&&u.inputIndex>=M.LeftClick&&u.inputIndex<=M.RightClick&&u.currentState===0&&this._onPointerUp(c),s&&(u.inputIndex===M.Horizontal||u.inputIndex===M.Vertical||u.inputIndex===M.DeltaHorizontal||u.inputIndex===M.DeltaVertical)?this._onPointerMove(c):i&&(u.inputIndex===M.MouseWheelX||u.inputIndex===M.MouseWheelY||u.inputIndex===M.MouseWheelZ)?this._onMouseWheel(c):o&&u.currentState===2?this._onPointerEnter(c):a&&u.currentState===3&&this._onPointerLeave(c))}),this.disposeWithMe(D.toDisposable(this._onInputObserver)),this._alreadyAttached=!0)}detachControl(){if(!this._alreadyAttached)return;const t=this._scene.getEngine();t&&(t.onInputChangedObservable.remove(this._onInputObserver),this._alreadyAttached=!1)}_getCurrentObject(t,e){var s;return(s=this._scene)==null?void 0:s.pick(P.FromArray([t,e]))}_checkDirectSceneEventTrigger(t,e){let s=!1;e==null&&(s=!0);let i=!0;if(e&&e.classType===H.BASE_OBJECT){const o=e.getScene();o&&(i=o.getParent().classType!==H.SCENE_VIEWER)}return!this._scene.evented&&t&&i||s}_isPointerSwiping(t,e){return Math.abs(this._startingPosition.x-t)>b1.DragMovementThreshold||Math.abs(this._startingPosition.y-e)>b1.DragMovementThreshold}_prePointerDoubleOrTripleClick(t){var o,a,l,u;const{clientX:e,clientY:s}=t;this._isPointerSwiping(e,s)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},b1.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState&&((a=(o=this._scene)==null?void 0:o.pick(P.FromArray([t.offsetX,t.offsetY])))==null||a.triggerTripleClick(t),this._scene.onTripleClickObserver.hasObservers()&&this._scene.onTripleClickObserver.notifyObservers(t)),this._doubleClickOccurred===2&&((u=(l=this._scene)==null?void 0:l.pick(P.FromArray([t.offsetX,t.offsetY])))==null||u.triggerDblclick(t),this._scene.onDblclickObserver.hasObservers()&&this._scene.onDblclickObserver.notifyObservers(t),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},b1.TripleClickDelay)),this._startingPosition.x=e,this._startingPosition.y=s}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}};h(b1,"DragMovementThreshold",2),h(b1,"LongPressDelay",500),h(b1,"DoubleClickDelay",500),h(b1,"TripleClickDelay",300),h(b1,"ExclusiveDoubleClickMode",!1);let t7=b1;class m8 extends D.Disposable{constructor(t){super();h(this,"onTransformChangeObservable",new D.Observable);h(this,"onFileLoadedObservable",new D.Observable);h(this,"onPointerDownObserver",new D.Observable);h(this,"onPointerMoveObserver",new D.Observable);h(this,"onPointerUpObserver",new D.Observable);h(this,"onPointerEnterObserver",new D.Observable);h(this,"onPointerLeaveObserver",new D.Observable);h(this,"onDblclickObserver",new D.Observable);h(this,"onTripleClickObserver",new D.Observable);h(this,"onMouseWheelObserver",new D.Observable);h(this,"onKeyDownObservable",new D.Observable);h(this,"onKeyUpObservable",new D.Observable);h(this,"debounceParentTimeout",-1);h(this,"_sceneKey","");h(this,"_width",100);h(this,"_height",100);h(this,"_scaleX",1);h(this,"_scaleY",1);h(this,"_transform",new r1);h(this,"_evented",!0);this._sceneKey=t}get classType(){return H.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 evented(){return this._evented}set transform(t){this._transform=t}set width(t){this._width=t}set height(t){this._height=t}set scaleX(t){this._scaleX=t}set scaleY(t){this._scaleY=t}enableEvent(){this._evented=!0}disableEvent(){this._evented=!1}on(t,e){return this[`on${t}Observer`].add(e.bind(this))}off(t,e){this[`on${t}Observer`].remove(e)}remove(t){this[`on${t}Observer`].clear()}triggerKeyDown(t){this.onKeyDownObservable.notifyObservers(t)}triggerKeyUp(t){this.onKeyUpObservable.notifyObservers(t)}triggerPointerUp(t){}triggerMouseWheel(t){}triggerPointerMove(t){}triggerDblclick(t){}triggerTripleClick(t){}triggerPointerDown(t){}triggerPointerOut(t){}triggerPointerLeave(t){}triggerPointerOver(t){}triggerPointerEnter(t){}renderObjects(t,e){}render(t){}getParent(){}dispose(){super.dispose()}getObject(t){}addObject(t,e=1){}addObjects(t,e=1){}getEngine(){}setObjectBehavior(t){}applyTransformer(t){}makeDirtyNoParent(t=!0){return this}makeDirty(t=!0){return this}pick(t){}getViewports(){return[]}addViewport(...t){}removeViewport(t){}getAncestorScale(){return{scaleX:1,scaleY:1}}getPrecisionScale(){return{scaleX:1,scaleY:1}}setCursor(t){}resetCursor(){}}class ct extends m8{constructor(t,e,s){var i;super(t);h(this,"_layers",[]);h(this,"_viewports",[]);h(this,"_cursor",n1.DEFAULT);h(this,"_defaultCursor",n1.DEFAULT);h(this,"_addObject$",new Z.BehaviorSubject(this));h(this,"addObject$",this._addObject$.asObservable());h(this,"_transformer");h(this,"_transformerOpenState",!1);h(this,"_inputManager");if(this._parent=e,s&&this.transformByState(s),this._parent.classType===H.ENGINE){const o=this._parent;o.addScene(this),o.hasActiveScene()||o.setActiveScene(t),this._inputManager=new t7(this)}else this._parent.classType===H.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(D.toDisposable((i=this._parent)==null?void 0:i.onTransformChangeObservable.add(o=>{this._setTransForm()})))}get ancestorScaleX(){const t=this.getParent();let e=1;return t.classType===H.SCENE_VIEWER&&(e=t.ancestorScaleX),this.scaleX*e}get ancestorScaleY(){const t=this.getParent();let e=1;return t.classType===H.SCENE_VIEWER&&(e=t.ancestorScaleY),this.scaleY*e}set cursor(t){this.setCursor(t)}attachControl(t=!0,e=!0,s=!0,i=!0){var o;if(this._parent.classType===H.ENGINE)return(o=this._inputManager)==null||o.attachControl(t,e,s,i),this}detachControl(){var t;return(t=this._inputManager)==null||t.detachControl(),this}makeDirty(t=!0){var e;return this._layers.forEach(s=>{s.makeDirty(t)}),this._parent.classType===H.SCENE_VIEWER&&((e=this._parent)==null||e.makeDirty(t)),this}makeDirtyNoParent(t=!0){return this._layers.forEach(e=>{e.makeDirty(t)}),this}enableLayerCache(...t){t.forEach(e=>{this.getLayer(e).enableCache()})}disableLayerCache(...t){t.forEach(e=>{this.getLayer(e).disableCache()})}isDirty(){for(let t=0;t<this._layers.length;t++)if(this._layers[t].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(t){this._cursor=t;const e=this.getEngine();e&&e.setCanvasCursor(t)}setDefaultCursor(t){this._defaultCursor=t,this.resetCursor()}resize(t,e){const s=this.width;t!==void 0&&(this.width=t);const i=this.height;return e!==void 0&&(this.height=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.resize,value:{width:this.width,height:this.height},preValue:{width:s,height:i}}),this}scale(t,e){const s=this.scaleX;t!==void 0&&(this.scaleX=t);const i=this.scaleY;return e!==void 0&&(this.scaleY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:s,scaleY:i}}),this}scaleBy(t,e){const s=this.scaleX;t!==void 0&&(this.scaleX+=t);const i=this.scaleY;return e!==void 0&&(this.scaleY+=e),this.scaleX=L2(this.scaleX,1),this.scaleY=L2(this.scaleY,1),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:s,scaleY:i}}),this}transformByState(t){const e=Object.keys(t),s={};e.length!==0&&(e.forEach(i=>{t[i]!==void 0&&(s[i]=this[i],this[i]=t[i])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.all,value:t,preValue:s}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===H.ENGINE)return this._parent;let t=this._parent;for(;t;){if(t.classType===H.ENGINE)return t;t=t==null?void 0:t.getParent()}return null}getLayers(){return this._layers}getLayer(t=1){for(const e of this._layers)if(e.zIndex===t)return e;return this._createDefaultLayer(t)}getLayerMaxZIndex(){let t=Number.MIN_VALUE;for(let e=0;e<this._layers.length;e++){const s=this._layers[e];s.zIndex>=t&&(t=s.zIndex)}return t}addLayer(...t){this._layers.push(...t)}addObject(t,e=1){var s;return(s=this.getLayer(e))==null||s.addObject(t),this._addObject$.next(this),this}setObjectBehavior(t){t.parent||(t.parent=this),t.onIsAddedToParentObserver.notifyObservers(this)}addObjects(t,e=1){var s;return(s=this.getLayer(e))==null||s.addObjects(t),this._addObject$.next(this),this}removeObject(t){if(t==null)return;const e=this.getLayers();for(const s of e)s.removeObject(t);return this}removeObjects(t){if(t==null)return;const e=this.getLayers();for(const s of e)s.removeObjects(t);return this}getAllObjects(){const t=[];this._layers.sort(D.sortRules);for(const e of this._layers)t.push(...e.getObjectsByOrder());return t}getAllObjectsByOrder(t=!1){const e=[],s=t?D.sortRulesByDesc:D.sortRules;this._layers.sort(s);for(const i of this._layers)e.push(...i.getObjectsByOrder().sort(s));return e}getAllObjectsByOrderForPick(t=!1){const e=[],s=t?D.sortRulesByDesc:D.sortRules;this._layers.sort(s);for(const i of this._layers)e.push(...i.getObjectsByOrderForPick().sort(s));return e}getObject(t){for(const e of this._layers){const s=e.getObjectsByOrder();for(const i of s)if(i.oKey===t)return i}}fuzzyMathObjects(t){const e=[];for(const s of this._layers){const i=s.getObjectsByOrder();for(const o of i)o.oKey.indexOf(t)>-1&&i.push(o)}return e}addViewport(...t){return this._viewports.push(...t),this}removeViewport(t){for(let e=0,s=this._viewports.length;e<s;e++){const i=this._viewports[e];if(i.viewPortKey===t)return this._viewports.splice(e,1),i}}getViewports(){return this._viewports}getViewport(t){for(const e of this._viewports)if(e.viewPortKey===t)return e}changeObjectOrder(){}render(t){var s;if(!this.isDirty())return;!t&&((s=this.getEngine())==null||s.clearCanvas());const e=this._layers.sort(D.sortRules);for(let i=0,o=e.length;i<o;i++)e[i].render(t,i===o-1)}async requestRender(t){return new Promise((e,s)=>{this.render(t),D2(e)})}openTransformer(t){this._transformer||(this._transformer=new g8(this,t)),this._transformerOpenState=!0}closeTransformer(t=!1){t&&(this._transformer=null),this._transformerOpenState=!1}applyTransformer(t){var e;this._transformerOpenState&&((e=this._transformer)==null||e.attachTo(t))}getTransformer(){return this._transformer}getActiveViewportByRelativeCoord(t){return this._viewports.find(e=>e.isHit(t))}getActiveViewportByCoord(t){return t=this.getRelativeCoord(t),this.getActiveViewportByRelativeCoord(t)}getScrollXYByRelativeCoords(t,e){return e||(e=this.getActiveViewportByRelativeCoord(t)),e?this.getScrollXY(e):{x:0,y:0}}getScrollXY(t){let e=0,s=0;if(t){const i=t.actualScrollX||0,o=t.actualScrollY||0;e+=i,s+=o}return{x:e,y:s}}getRelativeCoord(t){let e=this.getParent();const s=[];for(;e;)(e.classType===H.SCENE||e.classType===H.SCENE_VIEWER)&&s.push(e),e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent());s.reverse();for(const i of s)if(i.classType===H.SCENE){const a=i.getActiveViewportByCoord(t);if(a){const l=a.actualScrollX||0,u=a.actualScrollY||0;t=t.addByPoint(l,u)}}else i.classType===H.SCENE_VIEWER&&(t=i.transform.clone().invert().applyPoint(t));return t}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getAncestorScale(){let{scaleX:t=1,scaleY:e=1}=this;return this.classType===H.SCENE_VIEWER&&(t=this.ancestorScaleX||1,e=this.ancestorScaleY||1),{scaleX:t,scaleY:e}}getPrecisionScale(){var i;const t=((i=this.getEngine())==null?void 0:i.getPixelRatio())||1,{scaleX:e,scaleY:s}=this.getAncestorScale();return{scaleX:e*t,scaleY:s*t}}dispose(){var t,e;this.getLayers().forEach(s=>{s.dispose()}),this.getViewports().forEach(s=>{s.dispose()}),this.clearLayer(),this.clearViewports(),this.detachControl(),(t=this.onTransformChangeObservable)==null||t.clear(),(e=this._transformer)==null||e.dispose(),this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onPointerEnterObserver.clear(),this.onPointerLeaveObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onMouseWheelObserver.clear(),this.onKeyDownObservable.clear(),this.onKeyUpObservable.clear(),super.dispose()}pick(t){let e=this.getActiveViewportByCoord(t);if(e||(e=this._viewports[0]),!this.evented||!e)return;const s=e.pickScrollBar(t);if(s)return s;const i=e.getRelativeVector(t);let o=null;const a=this.getAllObjectsByOrderForPick().reverse(),l=a.length;for(let u=0;u<l;u++){const c=a[u];if(!c.visible||!c.evented||c.classType===H.GROUP)continue;let _=i;if(c.isInGroup&&c.parent.classType===H.GROUP){const{cumLeft:f,cumTop:m}=this._getGroupCumLeftRight(c);_=_.clone().add(P.FromArray([-f,-m]))}if(c.isHit(_)){if(c.classType===H.SCENE_VIEWER){const f=c.pick(_);f?o=f:o=c.getActiveSubScene()}else o=c;break}else if(c.classType===H.SCENE_VIEWER&&c.allowSelectedClipElement()){const f=c.pick(_);if(f){o=f;break}}}return!o&&this._parent.classType===H.ENGINE?this:o}triggerKeyDown(t){this.onKeyDownObservable.notifyObservers(t)}triggerKeyUp(t){this.onKeyUpObservable.notifyObservers(t)}triggerPointerUp(t){var e,s;return!((e=this.onPointerUpObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===H.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerUp(t),!1):!0}triggerMouseWheel(t){var e,s;return!((e=this.onMouseWheelObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===H.SCENE_VIEWER?((s=this._parent)==null||s.triggerMouseWheel(t),!1):!0}triggerPointerMove(t){var e,s;return!((e=this.onPointerMoveObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===H.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerMove(t),!1):!0}triggerDblclick(t){var e,s;return!((e=this.onDblclickObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===H.SCENE_VIEWER?((s=this._parent)==null||s.triggerDblclick(t),!1):!0}triggerTripleClick(t){var e,s;return!((e=this.onTripleClickObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===H.SCENE_VIEWER?((s=this._parent)==null||s.triggerTripleClick(t),!1):!0}triggerPointerDown(t){var e,s;return!((e=this.onPointerDownObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===H.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerDown(t),!1):!0}triggerPointerOut(t){var e;return this._parent.classType===H.SCENE_VIEWER?((e=this._parent)==null||e.triggerPointerOut(t),!1):!0}triggerPointerLeave(t){var e,s;return!((e=this.onPointerLeaveObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===H.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerLeave(t),!1):!0}triggerPointerOver(t){var e;return this._parent.classType===H.SCENE_VIEWER?((e=this._parent)==null||e.triggerPointerOver(t),!1):!0}triggerPointerEnter(t){var e,s;return!((e=this.onPointerEnterObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===H.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerEnter(t),!1):!0}_createDefaultLayer(t=1){const e=new at(this,[],t);return this.addLayer(e),e}_setTransForm(){const t=r1.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY});this.transform=t,this.getViewports().forEach(e=>{e.resetSizeAndScrollBar()}),this.makeDirty(!0)}_getGroupCumLeftRight(t){let e=t.parent,s=0,i=0;for(;e.classType===H.GROUP;){const{left:o,top:a}=e;s+=o,i+=a,e=e.parent}return{cumLeft:s,cumTop:i}}}const p8={width:1500,height:1e3},F8="_UNIVER_SCENE_";class ht{constructor(){h(this,"_defaultEngine");h(this,"_currentUnitId","");h(this,"_renderMap",new Map);h(this,"_currentRender$",new Z.BehaviorSubject(this._currentUnitId));h(this,"currentRender$",this._currentRender$.asObservable());h(this,"_createRender$",new Z.BehaviorSubject(this._currentUnitId));h(this,"createRender$",this._createRender$.asObservable())}get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new Z2),this._defaultEngine}dispose(){this._renderMap.forEach(n=>{this._disposeItem(n)}),this._renderMap.clear(),this._currentRender$.complete()}createRenderWithParent(n,t){const e=this.getRenderById(t);if(e==null)throw new Error("parent render is null");const{scene:s,engine:i}=e,o=this._createRender(n,i,!1),a=o.scene,l=new Q6(n);return l.addSubScene(a),s.addObject(l),o}createRenderWithEngine(n,t){return this._createRender(n,t,!1)}create(n){this._createRender$.next(n)}createRender(n){const t=new Z2;return this._createRender(n,t)}_createRender(n,t,e=!0){const s=this.getRenderById(n);let i=!0;s!=null&&s.engine===t&&(i=!1),this._disposeItem(s,i);const{width:o,height:a}=p8,l=new ct(F8+n,t,{width:o,height:a}),u={unitId:n,engine:t,scene:l,mainComponent:null,components:new Map,isMainScene:e};return this.addItem(n,u),u}addItem(n,t){this._renderMap.set(n,t)}removeItem(n){const t=this._renderMap.get(n);t!=null&&this._disposeItem(t),this._renderMap.delete(n)}has(n){return this._renderMap.has(n)}setCurrent(n){this._currentUnitId=n,this._currentRender$.next(n)}getCurrent(){return this._renderMap.get(this._currentUnitId)}getFirst(){return[...this.getRenderAll().values()][0]}getRenderById(n){return this._renderMap.get(n)}getRenderAll(){return this._renderMap}_disposeItem(n,t=!0){if(n==null)return;const{engine:e,scene:s,components:i,mainComponent:o}=n;i==null||i.forEach(a=>{a.dispose()}),o==null||o.dispose(),s.dispose(),t&&e.dispose()}}const _t=g1.createIdentifier("univer.render-manager-service");var C8=Object.defineProperty,E8=Object.getOwnPropertyDescriptor,b8=(r,n,t,e)=>{for(var s=e>1?void 0:e?E8(n,t):n,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(e?o(n,t,s):o(s))||s);return e&&s&&C8(n,t,s),s},S8=(r,n)=>(t,e)=>n(t,e,r);const Dt=g1.createIdentifier("univer.render-engine"),T8="render-engine";S.UniverRenderEnginePlugin=(u7=class extends D.Plugin{constructor(n,t){super(T8),this._injector=t,this._injector.add([Dt,{useFactory:()=>new Z2}]),this._injector.add([_t,{useClass:ht}])}},h(u7,"type",D.PluginType.Univer),u7),S.UniverRenderEnginePlugin=b8([S8(1,g1.Inject(g1.Injector))],S.UniverRenderEnginePlugin);const dt=["radius"];class e7 extends U1{constructor(t,e){super(t,e);h(this,"_radius");this._radius=(e==null?void 0:e.radius)||10,this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,value:o,preValue:a}=s;if(i===t1.resize||i===t1.all){const l=Math.min(this.width,this.height);this._radius=l/2,this.width=l,this.height=l,this._setTransForm()}})}get radius(){return this._radius}static drawWith(t,e){let{radius:s}=e;s=s!=null?s:10,t.beginPath(),e.strokeDashArray&&t.setLineDash(e.strokeDashArray),t.beginPath(),t.arc(s,s,s||0,0,Math.PI*2,!1),t.closePath(),this._renderPaintInOrder(t,e)}toJson(){const t={};return dt.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}_draw(t){e7.drawWith(t,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}}class y8{}class v8{}class q2 extends U1{constructor(t,e){super(t,e);h(this,"_props");h(this,"_native");this._props={autoWidth:!1,autoHeight:!1,...e},e.image?(this._native=e.image,this._init()):e.url&&(this._native=document.createElement("img"),this._native.src=e.url,this._native.onload=()=>{var s,i,o;(s=e.success)==null||s.call(e),this._init(),this.makeDirty(!0),(o=(i=this.getEngine())==null?void 0:i.activeScene)==null||o.onFileLoadedObservable.notifyObservers(t)},this._native.onerror=()=>{e.fail?e.fail():(this._native.src="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+",this._init(),this.makeDirty(!0))})}static drawWith(t,e){var s;if((s=e._native)!=null&&s.complete){const{width:i,height:o}=e;try{t.drawImage(e._native,0,0,i,o)}catch(a){console.error(a)}}}static create(t,e,s){return new q2(t,{url:e,success:s})}getPictureProps(){return this._props}_draw(t){q2.drawWith(t,this)}_init(){var t,e;this._props.autoWidth&&this.resize(((t=this._native)==null?void 0:t.width)||0),this._props.autoHeight&&this.resize(void 0,((e=this._native)==null?void 0:e.height)||0)}}const ft=["pointsGroup"];class Q2 extends U1{constructor(t,e){super(t,e);h(this,"_pointsGroup");this._pointsGroup=(e==null?void 0:e.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,value:o,preValue:a}=s;(i===t1.resize||i===t1.all)&&this.resizePolygon(a)})}get pointsGroup(){return this._pointsGroup}static drawWith(t,e){let{pointsGroup:s}=e;s=s!=null?s:[[]],e.strokeDashArray&&t.setLineDash(e.strokeDashArray),t.beginPath();for(const i of s){t.moveTo(i[0].x,i[0].y);for(let o=1;o<i.length;o++){const a=i[o];t.lineTo(a.x,a.y)}}t.closePath(),this._renderPaintInOrder(t,e)}updatePointGroup(t){this._pointsGroup=t,this._setFixBoundingBox()}resizePolygon(t){const{left:e,top:s,width:i,height:o}=this._getSelfRect(),{width:a,height:l}=t;let u,c;a?u=this.width-a:u=0,l?c=this.height-l:c=0;const _=u/i,f=c/o;this.scaleX+=_,this.scaleY+=f,this.left=this.left-e*_,this.top=this.top-s*f,this._setTransForm()}toJson(){const t={};return ft.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}getState(){const{left:t,top:e,width:s,height:i}=this.getRect();return{left:t,top:e,width:s,height:i,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left:t,top:e,width:s,height:i}=this._getSelfRect();return{left:t*this.scaleX+this.left,top:e*this.scaleY+this.top,width:s*this.scaleX,height:i*this.scaleY}}_draw(t){Q2.drawWith(t,this)}_setFixBoundingBox(){const{width:t,height:e,left:s,top:i}=this._getSelfRect();this.left=this.left+s,this.top=this.top+i,this.width=t,this.height=e;const o=this.pointsGroup;for(const a of o)for(const l of a)l.x-=s,l.y-=i;this._setTransForm()}_getSelfRect(){const t=this.pointsGroup;let e=t[0][0].x,s=t[0][0].x,i=t[0][0].y,o=t[0][0].y;for(const a of t)for(const l of a)e=Math.min(e,l.x),s=Math.max(s,l.x),i=Math.min(i,l.y),o=Math.max(o,l.y);return{left:e,top:i,width:s-e,height:o-i}}}const n7=["text","richText"];class $8 extends w1{constructor(t,e,s){super(e);h(this,"_documentData");h(this,"_documentSkeleton");h(this,"_documents");h(this,"_ff");h(this,"_fs",12);h(this,"_it",D.BooleanNumber.FALSE);h(this,"_bl",D.BooleanNumber.FALSE);h(this,"_ul",{s:D.BooleanNumber.FALSE});h(this,"_st",{s:D.BooleanNumber.FALSE});h(this,"_ol",{s:D.BooleanNumber.FALSE});h(this,"_bg");h(this,"_bd");h(this,"_cl");this._localeService=t,s!=null&&s.richText?this._documentData=s.richText:s&&(this._fs=s.fs,this._ff=s.ff,this._it=s.it,this._bl=s.bl,this._ul=s.ul,this._st=s.st,this._ol=s.ol,this._bg=s.bg,this._bd=s.bd,this._cl=s.cl,this._documentData=this._convertToDocumentData(s.text||""));const i=new D.DocumentDataModel(this._documentData),o=new N1(i);this._documentSkeleton=n2.create(o,this._localeService),this._documents=new w2(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(s),this.onTransformChangeObservable.add(a=>{const{type:l}=a;if(l===t1.resize||l===t1.all){i.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();const u=this.getDocsSkeletonPageSize();this.height=(u==null?void 0:u.height)||this.height,this._setTransForm()}})}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var a;const t=(a=this._documentSkeleton)==null?void 0:a.getSkeletonData();if(!t)return;const{pages:e}=t,s=e[e.length-1],{width:i,height:o}=s;return{width:i,height:o}}setProps(t){if(!t)return;const e=Object.keys(t);if(e.length!==0)return e.forEach(s=>{if(t[s]===void 0)return!0;n7.indexOf(s)===-1&&(this[`_${s}`]=t[s])}),this.makeDirty(!0),this}render(t,e){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(e)){const{top:i,left:o,bottom:a,right:l}=e.viewBound;if(this.width+this.strokeWidth<o||l<0||this.height+this.strokeWidth<i||a<0)return this}const s=this.transform.getMatrix();return t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(t),t.restore(),this.makeDirty(!1),this}toJson(){const t={};return n7.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}_draw(t){this._documents.render(t)}_convertToDocumentData(t){const e=t.length;return{id:"d",body:{dataStream:`${t}${D.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:e}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}}}}_initialProps(t){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(t==null?void 0:t.width,t==null?void 0:t.height),this._documentSkeleton.calculate();const e=this.getDocsSkeletonPageSize();this.transformByState({width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0,left:(t==null?void 0:t.left)||0,top:(t==null?void 0:t.top)||0,angle:t==null?void 0:t.angle}),this.setProps(t),this.makeDirty(!0)}}class B8 extends D.Disposable{constructor(){super(...arguments);h(this,"enableHorizontal",!0);h(this,"enableVertical",!0);h(this,"horizontalThumbWidth",0);h(this,"horizontalMinusMiniThumb",0);h(this,"horizontalBarWidth",0);h(this,"verticalThumbHeight",0);h(this,"verticalBarHeight",0);h(this,"verticalMinusMiniThumb",0);h(this,"horizonBarRect");h(this,"horizonThumbRect");h(this,"verticalBarRect");h(this,"verticalThumbRect");h(this,"placeholderBarRect")}get limitX(){var t;return(t=this.horizonThumbRect)!=null&&t.visible?this.horizontalBarWidth-this.horizontalThumbWidth:0}get limitY(){var t;return(t=this.verticalThumbRect)!=null&&t.visible?this.verticalBarHeight-this.verticalThumbHeight:0}get ratioScrollX(){if(this.enableHorizontal===!1||this.horizontalThumbWidth===void 0||this.horizontalBarWidth===void 0)return 1;const t=(this.horizontalThumbWidth-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalBarWidth;return Number.isNaN(t)?1:t}get ratioScrollY(){if(this.enableVertical===!1||this.verticalThumbHeight===void 0||this.verticalBarHeight===void 0)return 1;const t=(this.verticalThumbHeight-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalBarHeight;return Number.isNaN(t)?1:t}get miniThumbRatioX(){const t=this.horizontalBarWidth-this.horizontalThumbWidth;if(t===0)return 0;const e=this.horizontalBarWidth-(this.horizontalThumbWidth-this.horizontalMinusMiniThumb);return e===0?0:t/e}get miniThumbRatioY(){const t=this.verticalBarHeight-this.verticalThumbHeight;if(t===0)return 0;const e=this.verticalBarHeight-(this.verticalThumbHeight-this.verticalMinusMiniThumb);return e===0?0:t/e}pick(t){var e,s,i,o;return(e=this.horizonThumbRect)!=null&&e.isHit(t)?this.horizonThumbRect:(s=this.verticalThumbRect)!=null&&s.isHit(t)?this.verticalThumbRect:(i=this.horizonBarRect)!=null&&i.isHit(t)?this.horizonBarRect:(o=this.verticalBarRect)!=null&&o.isHit(t)?this.verticalBarRect:null}dispose(){var t,e,s,i,o;(t=this.horizonBarRect)==null||t.dispose(),(e=this.horizonThumbRect)==null||e.dispose(),(s=this.verticalBarRect)==null||s.dispose(),(i=this.verticalThumbRect)==null||i.dispose(),(o=this.placeholderBarRect)==null||o.dispose()}hasHorizonThumb(){var t;return((t=this.horizonThumbRect)==null?void 0:t.visible)||!1}hasVerticalThumb(){var t;return((t=this.verticalThumbRect)==null?void 0:t.visible)||!1}resize(t=0,e=0,s=0,i=0){}makeDirty(t){}render(t,e=0,s=0){}}const i2=17;class s7 extends B8{constructor(t,e){super();h(this,"_view");h(this,"_mainScene");h(this,"_lastX",-1);h(this,"_lastY",-1);h(this,"_isHorizonMove",!1);h(this,"_isVerticalMove",!1);h(this,"_horizonPointerMoveObserver");h(this,"_horizonPointerUpObserver");h(this,"_verticalPointerMoveObserver");h(this,"_verticalPointerUpObserver");h(this,"barSize",14);h(this,"barBorder",1);h(this,"thumbMargin",2);h(this,"thumbLengthRatio",1);h(this,"thumbBackgroundColor","#cccccc");h(this,"thumbHoverBackgroundColor","#b2b2b2");h(this,"thumbActiveBackgroundColor","#999999");h(this,"barBackgroundColor","rgba(255,255,255,0.5)");h(this,"barBorderColor","rgba(255,255,255,0.7)");t||console.warn("Missing viewport"),this.setProps(e),this._view=t,this._initialScrollRect(),this._view.setScrollBar(this)}static attachTo(t,e){return new s7(t,e)}dispose(){var t,e,s,i;super.dispose(),(t=this._mainScene)==null||t.onPointerMoveObserver.remove(this._horizonPointerMoveObserver),(e=this._mainScene)==null||e.onPointerMoveObserver.remove(this._verticalPointerMoveObserver),(s=this._mainScene)==null||s.onPointerUpObserver.remove(this._horizonPointerUpObserver),(i=this._mainScene)==null||i.onPointerUpObserver.remove(this._verticalPointerUpObserver),this._mainScene=null,this._view.removeScrollBar()}render(t,e=0,s=0){const{scrollX:i,scrollY:o}=this._view;t.save();const l=new r1([1,0,0,1,e,s]).getMatrix();t.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this.enableHorizontal&&(this.horizonBarRect.render(t),this.horizonThumbRect.translate(i).render(t)),this.enableVertical&&(this.verticalBarRect.render(t),this.verticalThumbRect.translate(void 0,o).render(t)),this.enableHorizontal&&this.enableVertical&&this.placeholderBarRect.render(t),t.restore()}resize(t=0,e=0,s=0,i=0){var o;t===0&&t===0||(this._resizeHorizontal(t,e,s),this._resizeVertical(t,e,i),this.enableHorizontal&&this.enableVertical&&((o=this.placeholderBarRect)==null||o.transformByState({left:t-this.barSize,top:e-this.barSize,width:this.barSize-this.barBorder,height:this.barSize-this.barBorder})))}makeDirty(t){var e,s,i,o,a;(e=this.horizonBarRect)==null||e.makeDirty(t),(s=this.horizonThumbRect)==null||s.makeDirty(t),(i=this.verticalBarRect)==null||i.makeDirty(t),(o=this.verticalThumbRect)==null||o.makeDirty(t),(a=this.placeholderBarRect)==null||a.makeDirty(t),this.makeViewDirty(t)}makeViewDirty(t){(this._mainScene||this._view.scene).makeDirty(t)}pick(t){var e,s,i,o;return(e=this.horizonThumbRect)!=null&&e.isHit(t)?this.horizonThumbRect:(s=this.verticalThumbRect)!=null&&s.isHit(t)?this.verticalThumbRect:(i=this.horizonBarRect)!=null&&i.isHit(t)?this.horizonBarRect:(o=this.verticalBarRect)!=null&&o.isHit(t)?this.verticalBarRect:null}setProps(t){if(!t)return;const e=Object.keys(t);e.length!==0&&e.forEach(s=>{t[s]!==void 0&&(this[`${s}`]=t[s])})}_resizeHorizontal(t,e,s){var i,o,a,l,u;this.enableHorizontal&&(this.horizontalMinusMiniThumb=0,this.horizontalBarWidth=t-(this.enableVertical?this.barSize:0)-this.barBorder,this.horizontalThumbWidth=this.horizontalBarWidth*(this.horizontalBarWidth-this.barBorder)/s*this.thumbLengthRatio,this.horizontalThumbWidth<i2&&(this.horizontalMinusMiniThumb=i2-this.horizontalThumbWidth,this.horizontalThumbWidth=i2),(i=this.horizonBarRect)==null||i.transformByState({left:0,top:e-this.barSize,width:this.horizontalBarWidth,height:this.barSize-this.barBorder}),this.horizontalThumbWidth>=t-this.barSize?(o=this.horizonThumbRect)==null||o.setProps({visible:!1}):((a=this.horizonThumbRect)!=null&&a.visible||(l=this.horizonThumbRect)==null||l.setProps({visible:!0}),(u=this.horizonThumbRect)==null||u.transformByState({left:this._view.scrollX,top:e-this.barSize+this.thumbMargin,width:this.horizontalThumbWidth,height:this.barSize-this.thumbMargin*2})))}_resizeVertical(t,e,s){var i,o,a,l,u;this.enableVertical&&(this.verticalMinusMiniThumb=0,this.verticalBarHeight=e-(this.enableHorizontal?this.barSize:0)-this.barBorder,this.verticalThumbHeight=this.verticalBarHeight*this.verticalBarHeight/s*this.thumbLengthRatio,this.verticalThumbHeight<i2&&(this.verticalMinusMiniThumb=i2-this.verticalThumbHeight,this.verticalThumbHeight=i2),(i=this.verticalBarRect)==null||i.transformByState({left:t-this.barSize,top:0,width:this.barSize-this.barBorder,height:this.verticalBarHeight}),this.verticalThumbHeight>=e-this.barSize?(o=this.verticalThumbRect)==null||o.setProps({visible:!1}):((a=this.verticalThumbRect)!=null&&a.visible||(l=this.verticalThumbRect)==null||l.setProps({visible:!0}),(u=this.verticalThumbRect)==null||u.transformByState({left:t-this.barSize+this.thumbMargin,top:this._view.scrollY,width:this.barSize-this.thumbMargin*2,height:this.verticalThumbHeight})))}_initialScrollRect(){this.enableHorizontal&&(this.horizonBarRect=new F1("__horizonBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.horizonThumbRect=new F1("__horizonThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableVertical&&(this.verticalBarRect=new F1("__verticalBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.verticalThumbRect=new F1("__verticalThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableHorizontal&&this.enableVertical&&(this.placeholderBarRect=new F1("__placeholderBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor})),this._initialVerticalEvent(),this._initialHorizontalEvent()}_initialVerticalEvent(){var e,s,i,o;if(!this.enableVertical)return;const t=this._mainScene||this._view.scene;(e=this.verticalThumbRect)==null||e.on(S1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.verticalThumbRect)),(s=this.verticalThumbRect)==null||s.on(S1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.verticalThumbRect)),(i=this.verticalBarRect)==null||i.on(S1.PointerDown,(a,l)=>{const u=a;this._view.scrollTo({y:u.offsetY-this._view.top-this.verticalThumbHeight/2}),l.stopPropagation()}),(o=this.verticalThumbRect)==null||o.on(S1.PointerDown,(a,l)=>{const u=a,c=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=u.offsetX,this._lastY=u.offsetY,c==null||c.setProps({fill:this.thumbActiveBackgroundColor}),t.disableEvent(),this.makeViewDirty(!0),l.stopPropagation()}),this._verticalPointerMoveObserver=t.onPointerMoveObserver.add((a,l)=>{var c;const u=a;this._isVerticalMove&&(this._view.scrollByBar({y:u.offsetY-this._lastY}),this._lastY=u.offsetY,(c=t.getEngine())==null||c.setRemainCapture())}),this._verticalPointerUpObserver=t.onPointerUpObserver.add((a,l)=>{const u=this.verticalThumbRect;this._isVerticalMove=!1,t.enableEvent(),u==null||u.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}_hoverFunc(t,e){return(s,i)=>{if(this._isHorizonMove||this._isVerticalMove)return;e.setProps({fill:t}),this.makeViewDirty(!0)}}_initialHorizontalEvent(){var e,s,i,o;if(!this.enableHorizontal)return;const t=this._mainScene||this._view.scene;(e=this.horizonThumbRect)==null||e.on(S1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.horizonThumbRect)),(s=this.horizonThumbRect)==null||s.on(S1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.horizonThumbRect)),(i=this.horizonBarRect)==null||i.on(S1.PointerDown,(a,l)=>{const u=a;this._view.scrollTo({x:u.offsetX-this._view.left-this.horizontalThumbWidth/2}),l.stopPropagation()}),(o=this.horizonThumbRect)==null||o.on(S1.PointerDown,(a,l)=>{var c;const u=a;this._isHorizonMove=!0,this._lastX=u.offsetX,this._lastY=u.offsetY,(c=this.horizonThumbRect)==null||c.setProps({fill:this.thumbActiveBackgroundColor}),this.makeViewDirty(!0),t.disableEvent(),l.stopPropagation()}),this._horizonPointerMoveObserver=t.onPointerMoveObserver.add((a,l)=>{var c;const u=a;this._isHorizonMove&&(this._view.scrollByBar({x:u.offsetX-this._lastX}),this._lastX=u.offsetX,(c=t.getEngine())==null||c.setRemainCapture())}),this._horizonPointerUpObserver=t.onPointerUpObserver.add((a,l)=>{const u=this.horizonThumbRect;this._isHorizonMove=!1,t.enableEvent(),u==null||u.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}}class O8{}const gt=["checked"];class i7 extends U1{constructor(t,e){super(t,e);h(this,"_checked",!1);D.Tools.isDefine(e.checked)&&(this._checked=e.checked)}get checked(){return this._checked}static drawWith(t,e){const{width:s=16,height:i=16,fill:o,checked:a,top:l=0,left:u=0}=e,c=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"),_=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");t.save(),t.translate(u,l),t.scale(s/16,i/16),o&&(t.fillStyle=o),a?t.fill(_,"evenodd"):t.fill(c,"evenodd"),t.restore()}_draw(t){i7.drawWith(t,this)}toJson(){const t={};return gt.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}}function w8(r,n){if(n.startRow>=r.endRow||n.endRow<=r.startRow||n.startColumn>=r.endColumn||n.endColumn<=r.startColumn)return[r];const t=[];n.startRow>r.startRow&&t.push({startRow:r.startRow,startColumn:r.startColumn,endRow:n.startRow,endColumn:r.endColumn}),n.endRow<r.endRow&&t.push({startRow:n.endRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn});const e=Math.max(r.startRow,n.startRow),s=Math.min(r.endRow,n.endRow);return n.startColumn>r.startColumn&&t.push({startRow:e,startColumn:r.startColumn,endRow:s,endColumn:n.startColumn}),n.endColumn<r.endColumn&&t.push({startRow:e,startColumn:n.endColumn,endRow:s,endColumn:r.endColumn}),t}const A8=3;class R8{constructor(n,t,e){h(this,"scrollX",0);h(this,"scrollY",0);h(this,"actualScrollX",0);h(this,"actualScrollY",0);h(this,"onMouseWheelObserver",new D.Observable);h(this,"onScrollAfterObserver",new D.Observable);h(this,"onScrollBeforeObserver",new D.Observable);h(this,"onScrollStopObserver",new D.Observable);h(this,"onScrollByBarObserver",new D.Observable);h(this,"_viewPortKey","");h(this,"_topOrigin",0);h(this,"_leftOrigin",0);h(this,"_bottomOrigin",0);h(this,"_rightOrigin",0);h(this,"_widthOrigin");h(this,"_heightOrigin");h(this,"_top",0);h(this,"_left",0);h(this,"_bottom",0);h(this,"_right",0);h(this,"_width");h(this,"_height");h(this,"_scene");h(this,"_scrollBar");h(this,"_isWheelPreventDefaultX",!1);h(this,"_isWheelPreventDefaultY",!1);h(this,"_scrollStopNum",0);h(this,"_preScrollX",0);h(this,"_preScrollY",0);h(this,"_renderClipState",!0);h(this,"_active",!0);h(this,"_paddingStartX",0);h(this,"_paddingEndX",0);h(this,"_paddingStartY",0);h(this,"_paddingEndY",0);h(this,"_isRelativeX",!1);h(this,"_isRelativeY",!1);h(this,"_preViewportBound");this._viewPortKey=n,this._scene=t,(e==null?void 0:e.active)!=null&&(this._active=e.active),this._scene.addViewport(this),this._setWithAndHeight(e),this._isWheelPreventDefaultX=(e==null?void 0:e.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(e==null?void 0:e.isWheelPreventDefaultY)||!1,this._resizeCacheCanvasAndScrollBar()}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(n){this._width=n}set height(n){this._height=n}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set top(n){var t,e;this._topOrigin=n,this._top=O1(n,(e=(t=this._scene)==null?void 0:t.getParent())==null?void 0:e.height)}set left(n){var t;this._leftOrigin=n,this._left=O1(n,(t=this.scene.getParent())==null?void 0:t.width)}set bottom(n){var t;this._bottomOrigin=n,this._bottom=O1(n,(t=this.scene.getParent())==null?void 0:t.height)}set right(n){var t;this._rightOrigin=n,this._right=O1(n,(t=this.scene.getParent())==null?void 0:t.width)}enable(){this._active=!0}disable(){this._active=!1}resetSizeAndScrollBar(){this._resizeCacheCanvasAndScrollBar()}setScrollBar(n){this._scrollBar=n,this._resizeCacheCanvasAndScrollBar()}removeScrollBar(){this._scrollBar=null}resize(n){Object.keys(n).length!==0&&(this._setWithAndHeight(n),this._resizeCacheCanvasAndScrollBar())}setPadding(n){const{startX:t=0,startY:e=0,endX:s=0,endY:i=0}=n;this._paddingStartX=t,this._paddingEndX=s,this._paddingStartY=e,this._paddingEndY=i,this._resizeCacheCanvasAndScrollBar()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}scrollTo(n,t=!0){return this._scroll(0,n,t)}scrollBy(n,t=!0){return this._scroll(1,n,t)}scrollByBar(n,t=!0){var i,o;this._scroll(1,n,t);const{x:e,y:s}=n;this.onScrollByBarObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:e,y:s,actualScrollX:this.actualScrollX,actualScrollY:this.actualScrollY,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:t})}scrollByOffset(n=0,t=0,e=!0){if(!this._scrollBar||this.isActive===!1)return;const s=n+this._paddingStartX,i=t+this._paddingStartY,o=this.getBarScroll(s,i);return this.scrollBy(o,e)}getBarScroll(n,t){let e=n-this._paddingStartX,s=t-this._paddingStartY;if(this._scrollBar){e*=this._scrollBar.ratioScrollX,s*=this._scrollBar.ratioScrollY;const{scaleX:i,scaleY:o}=this.scene;e*=i,s*=o}else this.scrollX!==void 0&&(e=this.scrollX),this.scrollY!==void 0&&(s=this.scrollY);return{x:e,y:s}}getActualScroll(n,t){let e=n,s=t;if(this._scrollBar){const{scaleX:a,scaleY:l}=this.scene;this._scrollBar.ratioScrollX!==0?(e/=this._scrollBar.ratioScrollX,e/=a):this.actualScrollX!==void 0?e=this.actualScrollX:e=0,this._scrollBar.ratioScrollY!==0?(s/=this._scrollBar.ratioScrollY,s/=l):this.actualScrollY!==void 0?s=this.actualScrollY:s=0}else this.actualScrollX!==void 0?e=this.actualScrollX:e=0,this.actualScrollY!==void 0?s=this.actualScrollY:s=0;const{scaleX:i,scaleY:o}=this._scene.getPrecisionScale();return{x:W(e+this._paddingStartX,i),y:W(s+this._paddingStartY,o)}}getTransformedScroll(){const n=this.scrollX,t=this.scrollY;return this.getActualScroll(n,t)}getScrollBar(){return this._scrollBar}updateScroll(n){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;const{scrollX:t,scrollY:e,actualScrollX:s,actualScrollY:i}=n;return t!==void 0&&(this.scrollX=t),e!==void 0&&(this.scrollY=e),s!==void 0&&(this.actualScrollX=s),i!==void 0&&(this.actualScrollY=i),this}getScrollBarTransForm(){const n=r1.create();return n.multiply(r1.create([1,0,0,1,this._left,this._top])),n}render(n,t=[],e=!1){var c;if(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)return;const s=n||((c=this._scene.getEngine())==null?void 0:c.getCanvas().getContext()),i=this._scene.transform.clone();i.multiply(r1.create([1,0,0,1,-this.actualScrollX||0,-this.actualScrollY||0]));const o=s,a=i.getMatrix(),l=this.getScrollBarTransForm().getMatrix();if(o.save(),this._renderClipState){o.beginPath();const{scaleX:_,scaleY:f}=this._getBoundScale(a[0],a[3]);o.rect(this.left,this.top,(this.width||0)*_,(this.height||0)*f),o.clip()}o.transform(a[0],a[1],a[2],a[3],a[4],a[5]);const u=this._calViewportRelativeBounding();t.forEach(_=>{_.render(o,u)}),o.restore(),this._scrollBar&&e&&(o.save(),o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawScrollbar(o),o.restore()),this._scrollRendered(),this._preViewportBound=u}getBounding(){return this._calViewportRelativeBounding()}getRelativeVector(n){const t=this.scene.transform.clone().invert(),e=this.getTransformedScroll();return t.applyPoint(n).add(P.FromArray([e.x,e.y]))}getAbsoluteVector(n){const t=this.scene.transform.clone(),e=this.getTransformedScroll();return t.applyPoint(n.subtract(P.FromArray([e.x,e.y])))}onMouseWheel(n,t){if(!this._scrollBar||this.isActive===!1)return;let e;if(n.inputIndex===M.MouseWheelX){const s=Math.abs(n.deltaX),i=this._scene.width,a=(this.width||1)/i*s;n.deltaX>0?e=this.scrollBy({x:a}):e=this.scrollBy({x:-a}),this._scene.getParent().classType===H.SCENE_VIEWER?e!=null&&e.isLimitedX||t.stopPropagation():this._isWheelPreventDefaultX?n.preventDefault():e!=null&&e.isLimitedX||n.preventDefault()}if(n.inputIndex===M.MouseWheelY){const s=Math.abs(n.deltaY),i=this._scene.height;let a=(this.height||1)/i*s;n.shiftKey?(a*=A8,n.deltaY>0?e=this.scrollBy({x:a}):e=this.scrollBy({x:-a}),this._scene.getParent().classType===H.SCENE_VIEWER?e!=null&&e.isLimitedX||t.stopPropagation():this._isWheelPreventDefaultX?n.preventDefault():e!=null&&e.isLimitedX||n.preventDefault()):(n.deltaY>0?e=this.scrollBy({y:a}):e=this.scrollBy({y:-a}),this._scene.getParent().classType===H.SCENE_VIEWER?e!=null&&e.isLimitedY||t.stopPropagation():this._isWheelPreventDefaultY?n.preventDefault():e!=null&&e.isLimitedY||n.preventDefault())}n.inputIndex,M.MouseWheelZ,this._scene.makeDirty(!0)}isHit(n){if(this.isActive===!1)return;const{width:t,height:e}=this._getViewPortSize();return n.x>=this.left&&n.x<=this.left+(t||0)&&n.y>=this.top&&n.y<=this.top+(e||0)}pickScrollBar(n){if(!this._scrollBar)return;const e=this.getScrollBarTransForm().invert().applyPoint(n);return this._scrollBar.pick(e)}openClip(){this._renderClipState=!0}closeClip(){this._renderClipState=!1}dispose(){var n;this.onMouseWheelObserver.clear(),this.onScrollAfterObserver.clear(),this.onScrollBeforeObserver.clear(),this.onScrollStopObserver.clear(),(n=this._scrollBar)==null||n.dispose(),this._scene.removeViewport(this._viewPortKey)}limitedScroll(){var i,o;if(!this._scrollBar)return;const n=(i=this._scrollBar)==null?void 0:i.limitX,t=(o=this._scrollBar)==null?void 0:o.limitY;let e=!0,s=!0;return this.scrollX<0?this.scrollX=0:this.scrollX>n?this.scrollX=n:e=!1,this.scrollY<0?this.scrollY=0:this.scrollY>t?this.scrollY=t:s=!1,{isLimitedX:e,isLimitedY:s}}_resizeCacheCanvasAndScrollBar(){const n=this.actualScrollX,t=this.actualScrollY,{width:e,height:s}=this._getViewPortSize(),i=(this._scene.width-this._paddingEndX)*this._scene.scaleX,o=(this._scene.height-this._paddingEndY)*this._scene.scaleY;if(this._scrollBar){this._scrollBar.resize(e,s,i,o);const{x:a,y:l}=this.getBarScroll(n,t);this.scrollTo({x:a,y:l})}}_getViewPortSize(){const n=this._scene.getParent(),{width:t,height:e}=n,{scaleX:s=1,scaleY:i=1}=this._scene;let o,a,l=this.left*s,u=this.top*i;return this._leftOrigin!=null&&(l=this._leftOrigin*s),this._topOrigin!=null&&(u=this._topOrigin*i),this._widthOrigin!=null?o=this._widthOrigin*s:(o=t-(l+this._right),this.width=o),this._heightOrigin!=null?a=this._heightOrigin*i:(a=e-(u+this._bottom),this.height=a),this._left=l,this._top=u,{width:o,height:a}}_scrollRendered(){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY}_triggerScrollStop(n,t,e,s=!0){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var i,o;this.onScrollStopObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:t,y:e,actualScrollX:n.x,actualScrollY:n.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:s})},2)}_scroll(n,t,e=!0){var l,u,c,_;const{x:s,y:i}=t;if(this._scrollBar==null)return;s!==void 0&&(this._scrollBar.hasHorizonThumb()?n===1?this.scrollX+=s:this.scrollX=s:this.scrollX=0),i!==void 0&&(this._scrollBar.hasVerticalThumb()?n===1?this.scrollY+=i:this.scrollY=i:this.scrollY=0);const o=this.limitedScroll();this.onScrollBeforeObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:s,y:i,limitX:(l=this._scrollBar)==null?void 0:l.limitX,limitY:(u=this._scrollBar)==null?void 0:u.limitY,isTrigger:e}),this._scrollBar&&this._scrollBar.makeDirty(!0);const a=this.getTransformedScroll();return this.actualScrollX=a.x,this.actualScrollY=a.y,this.onScrollAfterObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:s,y:i,actualScrollX:a.x,actualScrollY:a.y,limitX:(c=this._scrollBar)==null?void 0:c.limitX,limitY:(_=this._scrollBar)==null?void 0:_.limitY,isTrigger:e}),this._triggerScrollStop(a,s,i,e),o}_calViewportRelativeBounding(){var T;if(this.isActive===!1)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};const t=this._scene.transform.clone().getMatrix(),e=this._isRelativeX&&t[0]<1?t[0]:1,s=this._isRelativeY&&t[3]<1?t[3]:1,i=this._isRelativeX?1:t[0]<1?t[0]:1,o=this._isRelativeY?1:t[3]<1?t[3]:1;let a=this._width,l=this._height;const u=this._getViewPortSize();t[0]>1&&(a=u.width),t[3]>1&&(l=u.height);const c=this.left*e,_=((a||0)+this.left)*i,f=this.top*s,m=((l||0)+this.top)*o,C=this.getRelativeVector(P.FromArray([c,f])),p=this.getRelativeVector(P.FromArray([_,m])),F={top:C.y,left:C.x,right:p.x,bottom:p.y},b=(T=this._preViewportBound)==null?void 0:T.viewBound;return{viewBound:F,diffBounds:this._diffViewBound(F,b),diffX:((b==null?void 0:b.left)||0)-F.left,diffY:((b==null?void 0:b.top)||0)-F.top,viewPortPosition:{top:f,left:c,bottom:m,right:_},viewPortKey:this.viewPortKey}}_diffViewBound(n,t){if(t==null)return[n];const e={startRow:n.top,endRow:n.bottom,startColumn:n.left,endColumn:n.right},s={startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right};return w8(e,s).map(o=>{const{startRow:a,endRow:l,startColumn:u,endColumn:c}=o;return{left:u,top:a,right:c,bottom:l}})}_drawScrollbar(n){if(!this._scrollBar)return;const t=this._scene.getParent();t.classType===H.SCENE_VIEWER?this._scrollBar.render(n):t.classType===H.ENGINE&&this._scrollBar.render(n)}_setWithAndHeight(n){this.top=(n==null?void 0:n.top)||0,this.left=(n==null?void 0:n.left)||0,this.bottom=(n==null?void 0:n.bottom)||0,this.right=(n==null?void 0:n.right)||0,D.Tools.isDefine(n==null?void 0:n.width)?(this.width=n==null?void 0:n.width,this._widthOrigin=this.width,this._isRelativeX=!1):(this.width=null,this._widthOrigin=null,this._isRelativeX=!0),D.Tools.isDefine(n==null?void 0:n.height)?(this.height=n==null?void 0:n.height,this._heightOrigin=this.height,this._isRelativeY=!1):(this.height=null,this._heightOrigin=null,this._isRelativeY=!0)}_getBoundScale(n,t){return n=this._isRelativeX&&n<1?1:n,t=this._isRelativeY&&t<1?1:t,{scaleX:n,scaleY:t}}}var t6=(r=>(r[r.page=0]="page",r[r.section=1]="section",r[r.column=2]="column",r[r.line=3]="line",r[r.divide=4]="divide",r[r.glyph=5]="glyph",r))(t6||{});const r2={page:0,section:1,column:2,line:3,divide:4,glyph:5};function mt(r,n){return r.page>n.page?!1:r.page<n.page?!0:r.section>n.section?!1:r.section<n.section?!0:r.column>n.column?!1:r.column<n.column?!0:r.line>n.line?!1:r.line<n.line?!0:r.divide>n.divide?!1:r.divide<n.divide?!0:r.glyph>n.glyph?!1:(r.glyph<n.glyph,!0)}function r7(r,n){return mt(r,n)?{start:r,end:n}:{start:n,end:r}}function pt(r){const n=r.length;if(n===0)return;const t=r[0],e=r[n-1],s=r.length===1&&t.collapsed;return{startOffset:t.startOffset,endOffset:e.endOffset,collapsed:s}}function I8(r,n,t,e){let s=e,i=e;for(let o=0;o<r.length;o++){const l=r[o].count;o<n&&(s+=l),o<t&&(i+=l)}return{startOffset:s,endOffset:i}}class Ft{constructor(n,t){h(this,"_liquid",new y2);h(this,"_currentStartState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});h(this,"_currentEndState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});this._documentOffsetConfig=n,this._docSkeleton=t}getRangePointData(n,t){const e=[],s=[],i=[];if(n==null||t==null)return{borderBoxPointGroup:e,contentBoxPointGroup:s,cursorList:i};const{start:o,end:a}=r7(n,t);return this._selectionIterator(o,a,(l,u,c,_,f,m)=>{const{lineHeight:C,marginTop:p,contentHeight:F}=m,{glyphGroup:b,st:T}=f,{x:y,y:v}=this._liquid;let $,B;const w=b[l],O=b[u],A=(w==null?void 0:w.left)||0,I=(w==null?void 0:w.width)||0,R=(O==null?void 0:O.left)||0,x=(O==null?void 0:O.width)||0,k=(w==null?void 0:w.glyphType)===m1.LIST,{startOffset:N,endOffset:L}=I8(b,l,u,T),Y=o.glyph===l&&c?o.isBack:!0,X=a.glyph===u&&_?a.isBack:!1,G=o===a;if(l===0&&u===b.length-1)$={startX:y+A+(k?I:0),startY:v,endX:y+R+x,endY:v+C},B={startX:y+A+(k?I:0),startY:v+p,endX:y+R+x,endY:v+p+F};else{const j=Y&&!k;$={startX:y+A+(j?0:I),startY:v,endX:y+R+(X?0:x),endY:v+C},B={startX:y+A+(j?0:I),startY:v+p,endX:y+R+(X?0:x),endY:v+p+F}}e.push(this._pushToPoints($)),s.push(this._pushToPoints(B)),i.push({startOffset:Y?N:N+w.count,endOffset:X?L:L+O.count,collapsed:G})}),{borderBoxPointGroup:e,contentBoxPointGroup:s,cursorList:i}}_resetCurrentNodePositionState(){this._currentStartState={page:0,section:0,column:0,line:0,divide:0,glyph:0},this._currentEndState={page:0,section:0,column:0,line:0,divide:0,glyph:0}}_setNodePositionState(n=0,t,e,s){s===t?this._currentStartState[n]=1:this._currentStartState[n]=0,s===e?this._currentEndState[n]=2:this._currentEndState[n]=0}_checkPreviousNodePositionState(n,t=!0){let e=n,s;for(;e>=0;){const i=t6[e];let o;if(t?o=this._currentStartState[i]:o=this._currentEndState[i],o===void 0)return;if(s===void 0&&(s=o),o!==s)return 0;e--}return s}_getSelectionRuler(n,t,e,s,i){let o=0,a=s;const l=t6[n],u=t6[n+1];if(u===null||l===null)return{start_next:o,end_next:a};const c=t[l],_=e[l];this._setNodePositionState(l,c,_,i);const f=this._checkPreviousNodePositionState(n),m=this._checkPreviousNodePositionState(n,!1);return f===1&&(o=t[u]),m===2&&(a=e[u]),{start_next:o,end_next:a}}_pushToPoints(n){const{startX:t,startY:e,endX:s,endY:i}=n,o=[];return o.push({x:t,y:e}),o.push({x:s,y:e}),o.push({x:s,y:i}),o.push({x:t,y:i}),o.push({x:t,y:e}),o}_selectionIterator(n,t,e){const s=this._docSkeleton;if(!s)return[];this._liquid.reset();const i=s.getSkeletonData();if(i==null)return[];const o=i.pages,{page:a}=n,{page:l}=t;if(this._resetCurrentNodePositionState(),this._documentOffsetConfig==null)return[];const{pageLayoutType:u,pageMarginLeft:c,pageMarginTop:_}=this._documentOffsetConfig;for(let f=0;f<=a-1;f++){const m=o[f];this._liquid.translatePage(m,u,c,_)}for(let f=a;f<=l;f++){const m=o[f],C=m.sections,{start_next:p,end_next:F}=this._getSelectionRuler(r2.page,n,t,C.length-1,f);this._liquid.translateSave(),this._liquid.translatePagePadding(m);for(let b=p;b<=F;b++){const T=C[b],y=T.columns,{start_next:v,end_next:$}=this._getSelectionRuler(r2.section,n,t,y.length-1,b);this._liquid.translateSection(T);for(let B=v;B<=$;B++){const w=y[B],O=w.lines,{start_next:A,end_next:I}=this._getSelectionRuler(r2.column,n,t,O.length-1,B);this._liquid.translateColumn(w);for(let R=A;R<=I;R++){const x=O[R],{divides:k}=x,{start_next:N,end_next:L}=this._getSelectionRuler(r2.line,n,t,k.length-1,R);this._liquid.translateSave(),this._liquid.translateLine(x);for(let Y=N;Y<=L;Y++){const X=k[Y];this._liquid.translateSave(),this._liquid.translateDivide(X);const G=X.glyphGroup,{start_next:j,end_next:V}=this._getSelectionRuler(r2.divide,n,t,G.length-1,Y);let q=!1,J=!1;f===a&&b===p&&B===v&&R===A&&Y===N&&(q=!0),f===l&&b===F&&B===$&&R===I&&Y===L&&(J=!0),e&&e(j,V,q,J,X,x,w,T,m),this._liquid.translateRestore()}this._liquid.translateRestore()}}}this._liquid.translateRestore(),this._liquid.translatePage(m,u,c,_)}}}const P8="__TestSelectionRange__",M8="__TestSelectionAnchor__",Ct=6,o7=500,L8=500,a7=1;function x8(r,n,t,e){const{startOffset:s,endOffset:i,style:o=E2}=n,a=t.findNodePositionByCharIndex(s),l=s!==i?t.findNodePositionByCharIndex(i):null,u=new e6(r,e,t,a,l,o);return u.refresh(),u}function Et(r){const n=r[0],t=n[0],e=n[2],{x:s,y:i}=t,{x:o,y:a}=e;return{left:s,top:i,width:o-s,height:a-i}}class e6{constructor(n,t,e,s,i,o=E2){h(this,"_current",!1);h(this,"_rangeShape");h(this,"_anchorShape");h(this,"_cursorList",[]);h(this,"_anchorBlinkTimer",null);this._scene=n,this._document=t,this._docSkeleton=e,this.anchorNodePosition=s,this.focusNodePosition=i,this.style=o,this._anchorBlink()}_anchorBlink(){setTimeout(()=>{this._anchorShape&&this._anchorShape.visible&&this.deactivateStatic()},o7),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},o7))},L8+o7)}get startOffset(){var s;const{startOffset:n}=(s=pt(this._cursorList))!=null?s:{},t=this._docSkeleton.getViewModel().getBody();if(n==null||t==null)return n;const e=t.dataStream.length-2;return Math.min(e,n)}get endOffset(){var s;const{endOffset:n}=(s=pt(this._cursorList))!=null?s:{},t=this._docSkeleton.getViewModel().getBody();if(n==null||t==null)return n;const e=t.dataStream.length-2;return Math.min(n,e)}get collapsed(){const{startOffset:n,endOffset:t}=this;return n!=null&&n===t}get startNodePosition(){if(this.anchorNodePosition==null)return null;if(this.focusNodePosition==null)return this.anchorNodePosition;const{start:n}=r7(this.anchorNodePosition,this.focusNodePosition);return n}get endNodePosition(){if(this.anchorNodePosition==null)return this.focusNodePosition;if(this.focusNodePosition==null)return null;const{end:n}=r7(this.anchorNodePosition,this.focusNodePosition);return n}get direction(){const{collapsed:n,anchorNodePosition:t,focusNodePosition:e}=this;return n||t==null||e==null?b2.NONE:mt(t,e)?b2.FORWARD:b2.BACKWARD}getAnchor(){return this._anchorShape}activeStatic(){var n,t;(t=this._anchorShape)==null||t.setProps({stroke:((n=this.style)==null?void 0:n.strokeActive)||u1(D.COLORS.black,1)})}deactivateStatic(){var n,t;(t=this._anchorShape)==null||t.setProps({stroke:((n=this.style)==null?void 0:n.stroke)||u1(D.COLORS.black,0)})}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var n,t;(n=this._rangeShape)==null||n.dispose(),this._rangeShape=null,(t=this._anchorShape)==null||t.dispose(),this._anchorShape=null,this._anchorBlinkTimer&&(clearInterval(this._anchorBlinkTimer),this._anchorBlinkTimer=null)}isIntersection(n){const{startOffset:t,endOffset:e}=this,{startOffset:s,endOffset:i}=n;return t==null||e==null||s==null||i==null?!1:t<=i&&e>=s}refresh(){var _,f;const{_document:n,_docSkeleton:t}=this,e=this.anchorNodePosition,s=this.focusNodePosition;if((_=this._anchorShape)==null||_.hide(),(f=this._rangeShape)==null||f.hide(),this._isEmpty())return;const i=n.getOffsetConfig(),{docsLeft:o,docsTop:a}=i,l=new Ft(i,t);if(this._isCollapsed()){const{contentBoxPointGroup:m,cursorList:C}=l.getRangePointData(e,e);this._setCursorList(C),m.length>0&&this._createOrUpdateAnchor(m,o,a);return}const{borderBoxPointGroup:u,cursorList:c}=l.getRangePointData(e,s);this._setCursorList(c),u.length>0&&this._createOrUpdateRange(u,o,a)}_isEmpty(){return this.anchorNodePosition==null&&this.focusNodePosition==null}_isCollapsed(){const n=this.anchorNodePosition,t=this.focusNodePosition;if(n!=null&&t==null)return!0;if(n==null||t==null)return!1;const e=Object.keys(r2);for(const s of e){const i=n[s],o=t[s];if(i!==o)return!1}return n.isBack===t.isBack}_createOrUpdateRange(n,t,e){var o;if(this._rangeShape){this._rangeShape.translate(t,e),this._rangeShape.updatePointGroup(n),this._rangeShape.show();return}const s=.2,i=new Q2(P8+D.Tools.generateRandomId(Ct),{pointsGroup:n,fill:((o=this.style)==null?void 0:o.fill)||u1(D.COLORS.black,s),left:t,top:e,evented:!1,debounceParentDirty:!1});this._rangeShape=i,this._scene.addObject(i,a7)}_createOrUpdateAnchor(n,t,e){var u,c;const s=Et(n),{left:i,top:o,height:a}=s;if(this._anchorShape){this._anchorShape.transformByState({left:i+t,top:o+e,height:a}),this._anchorShape.show();return}const l=new F1(M8+D.Tools.generateRandomId(Ct),{left:i+t,top:o+e,height:a,strokeWidth:((u=this.style)==null?void 0:u.strokeWidth)||1,stroke:((c=this.style)==null?void 0:c.strokeActive)||u1(D.COLORS.black,1),evented:!1});this._anchorShape=l,this._scene.addObject(l,a7)}_setCursorList(n){n.length!==0&&(this._cursorList=n)}}function N8(r){const n=r.getBoundingClientRect(),t=document.body,e=document.documentElement,s=window.pageYOffset||e.scrollTop||t.scrollTop,i=window.pageXOffset||e.scrollLeft||t.scrollLeft,o=e.clientTop||t.clientTop,a=e.clientLeft||t.clientLeft,l=n.top+s-o,u=n.left+i-a;return{top:l,left:u}}var k8=Object.defineProperty,H8=Object.getOwnPropertyDescriptor,X8=(r,n,t,e)=>{for(var s=e>1?void 0:e?H8(n,t):n,i=r.length-1,o;i>=0;i--)(o=r[i])&&(s=(e?o(n,t,s):o(s))||s);return e&&s&&k8(n,t,s),s},Y8=(r,n)=>(t,e)=>n(t,e,r);function bt(r){const n=r==null?void 0:r.getCanvasElement();if(!n)return{left:0,top:0};const{top:t,left:e}=N8(n);return{left:e,top:t}}function St(r){var l;const n=(l=r.parent)==null?void 0:l.parent,t=n==null?void 0:n.parent;if(n==null||t==null)return;const{paragraphIndex:e}=n,s=t.lines.filter(u=>u.paragraphIndex===e);let i=-1,o="",a=!1;for(const u of s)for(const c of u.divides)for(const _ of c.glyphGroup)a||(i+=_.count),_===r&&(a=!0),o+=_.count>0?_.content:"";return{st:s[0].st,ed:e,content:o,nodeIndex:i}}S.TextSelectionRenderManager=class extends D.RxDisposable{constructor(t){super();h(this,"_onInputBefore$",new Z.BehaviorSubject(null));h(this,"onInputBefore$",this._onInputBefore$.asObservable());h(this,"_onKeydown$",new Z.BehaviorSubject(null));h(this,"onKeydown$",this._onKeydown$.asObservable());h(this,"_onInput$",new Z.BehaviorSubject(null));h(this,"onInput$",this._onInput$.asObservable());h(this,"_onCompositionstart$",new Z.BehaviorSubject(null));h(this,"onCompositionstart$",this._onCompositionstart$.asObservable());h(this,"_onCompositionupdate$",new Z.BehaviorSubject(null));h(this,"onCompositionupdate$",this._onCompositionupdate$.asObservable());h(this,"_onCompositionend$",new Z.BehaviorSubject(null));h(this,"onCompositionend$",this._onCompositionend$.asObservable());h(this,"_onSelectionStart$",new Z.BehaviorSubject(null));h(this,"onSelectionStart$",this._onSelectionStart$.asObservable());h(this,"_onPaste$",new Z.Subject);h(this,"onPaste$",this._onPaste$.asObservable());h(this,"_textSelectionInner$",new Z.BehaviorSubject(null));h(this,"textSelectionInner$",this._textSelectionInner$.asObservable());h(this,"_onFocus$",new Z.Subject);h(this,"onFocus$",this._onFocus$.asObservable());h(this,"_onBlur$",new Z.Subject);h(this,"onBlur$",this._onBlur$.asObservable());h(this,"_container");h(this,"_inputParent");h(this,"_input");h(this,"_moveObservers",[]);h(this,"_upObservers",[]);h(this,"_scrollTimers",[]);h(this,"_viewportScrollX",0);h(this,"_viewportScrollY",0);h(this,"_rangeList",[]);h(this,"_currentSegmentId","");h(this,"_selectionStyle",E2);h(this,"_isSelectionEnabled",!0);h(this,"_viewPortObserverMap",new Map);h(this,"_isIMEInputApply",!1);h(this,"_activeViewport");h(this,"_docSkeleton");h(this,"_scene");h(this,"_document");this._logService=t,this._initDOM()}__getEditorContainer(){return this._container}getViewPort(){return this._activeViewport}setSegment(t){this._currentSegmentId=t}setStyle(t=E2){this._selectionStyle=t}resetStyle(){this.setStyle()}enableSelection(){this._isSelectionEnabled=!0}disableSelection(){this._isSelectionEnabled=!1}addTextRanges(t,e=!0){const{_scene:s,_docSkeleton:i}=this;for(const o of t){const a=x8(s,o,i,this._document);this._add(a)}this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),segmentId:this._currentSegmentId,style:this._selectionStyle,isEditing:e}),this._updateInputPosition()}sync(){this._updateInputPosition()}activate(t,e){this._container.style.left=`${t}px`,this._container.style.top=`${e}px`,this._container.style.zIndex="1000",this.focus()}hasFocus(){return document.activeElement===this._input}focus(){this._input.focus()}blur(){this._input.blur()}deactivate(){this._container.style.left="0px",this._container.style.top="0px"}changeRuntime(t,e,s){t!==this._docSkeleton&&this.removeAllTextRanges(),this._docSkeleton=t,this._scene=e,this._activeViewport=e.getViewports()[0],this._document=s,this._attachScrollEvent(this._activeViewport)}handleDblClick(t){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:e,offsetY:s}=t,i=this._findNodeByCoord(e,s);if(i==null||i.node==null)return;const o=St(i.node);if(o==null)return;const{content:a,st:l,nodeIndex:u}=o;if(u===-1||Intl.Segmenter==null)return;const _=new Intl.Segmenter(void 0,{granularity:"word"}).segment(a);let f=Number.NEGATIVE_INFINITY,m=Number.NEGATIVE_INFINITY;for(const{segment:C,index:p,isWordLike:F}of _)if(p<=u&&u<p+C.length&&F){f=p+l,m=p+l+C.length;break}if(Number.isFinite(f)&&Number.isFinite(m)){this.removeAllTextRanges();const C=[{startOffset:f,endOffset:m}];this.addTextRanges(C,!1)}}handleTripleClick(t){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:e,offsetY:s}=t,i=this._findNodeByCoord(e,s);if(i==null||i.node==null)return;const o=St(i.node);if(o==null)return;this.removeAllTextRanges();const{st:a,ed:l}=o,u=[{startOffset:a,endOffset:l,collapsed:a===l}];this.addTextRanges(u,!1)}setCursorManually(t,e){const s=this._findNodeByCoord(t,e),i=this._getNodePosition(s);if(i==null){this._removeAllTextRanges();return}(s==null?void 0:s.node.streamType)===D.DataStreamTreeTokenType.PARAGRAPH&&(i.isBack=!0),this._updateTextRangeAnchorPosition(i),this._activeSelectionRefresh()}eventTrigger(t){var m;if(!this._scene||!this._isSelectionEnabled)return;const e=this._scene,{offsetX:s,offsetY:i}=t,o=this._findNodeByCoord(s,i),a=this._getNodePosition(o);if(a==null){this._removeAllTextRanges();return}if((o==null?void 0:o.node.streamType)===D.DataStreamTreeTokenType.PARAGRAPH&&(a.isBack=!0),t.shiftKey&&this._getActiveRangeInstance())this._updateActiveRangeFocusPosition(a);else if(t.ctrlKey||this._isEmpty()){const C=new e6(e,this._document,this._docSkeleton,a);this._addTextRange(C)}else this._updateTextRangeAnchorPosition(a);this._activeSelectionRefresh(),e.disableEvent();const l=s2.create(e);this._scrollTimers.push(l),l.startScroll(s,i);const{scrollX:u,scrollY:c}=q1(l);this._viewportScrollX=u,this._viewportScrollY=c,this._onSelectionStart$.next((m=this._getActiveRangeInstance())==null?void 0:m.startNodePosition);let _=s,f=i;this._moveObservers.push(e.onPointerMoveObserver.add(C=>{const{offsetX:p,offsetY:F}=C;e.setCursor(n1.TEXT),!(Math.sqrt((p-_)**2+(F-f)**2)<3)&&(this._moving(p,F),l.scrolling(p,F,()=>{this._moving(p,F)}),_=p,f=F)})),this._upObservers.push(e.onPointerUpObserver.add(()=>{this._moveObservers.forEach(C=>{C==null||C.dispose()}),this._upObservers.forEach(C=>{C==null||C.dispose()}),this._moveObservers=[],this._upObservers=[],e.enableEvent(),this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),segmentId:this._currentSegmentId,style:this._selectionStyle,isEditing:!1}),this._scrollTimers.forEach(C=>{C==null||C.dispose()}),this._scrollTimers=[],this._updateInputPosition()}))}removeAllTextRanges(){this._removeAllTextRanges(),this.deactivate()}_getAllTextRanges(){return this._rangeList}_getActiveRange(){const t=this._rangeList.find(u=>u.isActive());if(t==null)return null;const{startOffset:e,endOffset:s,collapsed:i,startNodePosition:o,endNodePosition:a,direction:l}=t;return e==null||s==null?null:{startOffset:e,endOffset:s,collapsed:i,startNodePosition:o,endNodePosition:a,direction:l,segmentId:this._currentSegmentId,style:this._selectionStyle}}_add(t){t!=null&&(this._addTextRange(t),t.refresh())}_getActiveRangeInstance(){return this._rangeList.find(t=>t.isActive())}dispose(){super.dispose(),this._detachEvent(),this._container.remove()}_initDOM(){const t=document.createElement("div");t.style.position="fixed",t.style.left="0px",t.style.top="0px";const e=document.createElement("div"),s=document.createElement("div");e.appendChild(s),t.appendChild(e),this._container=t,this._inputParent=e,this._input=s,this._initInput(),this._initInputEvents(),document.body.appendChild(t)}_initInput(){this._inputParent.style.cssText=`
|
|
1
|
+
(function(y,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs"],g):(y=typeof globalThis<"u"?globalThis:y||self,g(y.UniverEngineRender={},y.UniverCore,y["@wendellhu/redi"],y.rxjs))})(this,function(y,g,E1,u1){"use strict";var iu=Object.defineProperty;var au=(y,g,E1)=>g in y?iu(y,g,{enumerable:!0,configurable:!0,writable:!0,value:E1}):y[g]=E1;var d=(y,g,E1)=>(au(y,typeof g!="symbol"?g+"":g,E1),E1);var u0;var Tt=(r=>(r.RECT="rect",r.CIRCLE="circle",r.PATH="path",r))(Tt||{}),X1=(r=>(r.PointerMove="PointerMove",r.PointerDown="PointerDown",r.PointerUp="PointerUp",r.PointerOut="PointerOut",r.PointerLeave="PointerLeave",r.PointerOver="PointerOver",r.PointerEnter="PointerEnter",r.wheel="MouseWheel",r.KeyDown="KeyDown",r.KeyUp="KeyUp",r))(X1||{}),h0=(r=>(r[r.XY=0]="XY",r[r.X=1]="X",r[r.Y=2]="Y",r))(h0||{});const xt=1,i2='"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',f0={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},a3={...f0,marginTop:20},o3={...f0,marginBottom:20},Bt=1,d0=14;var d1=(r=>(r.DEFAULT="default",r.AUTO="auto",r.CROSSHAIR="crosshair",r.POINTER="pointer",r.MOVE="move",r.EAST_RESIZE="e-resize",r.NORTH_EAST_RESIZE="ne-resize",r.NORTH_WEST_RESIZE="nw-resize",r.NORTH_RESIZE="n-resize",r.SOUTH_EAST_RESIZE="se-resize",r.SOUTH_WEST_RESIZE="sw-resize",r.SOUTH_RESIZE="s-resize",r.WEST_RESIZE="w-resize",r.TEXT="text",r.WAIT="wait",r.HELP="help",r.CELL="cell",r.NONE="none",r.VERTICAL_TEXT="vertical-text",r.NO_DROP="no-drop",r.GRAB="grab",r.GRABBING="grabbing",r.ALL_SCROLL="all-scroll",r.COLUMN_RESIZE="col-resize",r.ROW_RESIZE="row-resize",r.PROGRESS="progress",r.NOT_ALLOWED="not-allowed",r.ZOOM_IN="zoom-in",r.ZOOM_OUT="zoom-out",r))(d1||{}),_0=(r=>(r[r.noClip=0]="noClip",r[r.DOC_SIZE=1]="DOC_SIZE",r[r.CONTENT_SIZE_LEFT=2]="CONTENT_SIZE_LEFT",r[r.CONTENT_SIZE_CENTER=3]="CONTENT_SIZE_CENTER",r[r.CONTENT_SIZE_Right=4]="CONTENT_SIZE_Right",r))(_0||{});const he="rgb(0,0,0)";var q=(r=>(r.TOP="t",r.BOTTOM="b",r.LEFT="l",r.RIGHT="r",r.TL_BR="tl_br",r.TL_BC="tl_bc",r.TL_MR="tl_mr",r.BL_TR="bl_tr",r.ML_TR="ml_tr",r.BC_TR="bc_tr",r))(q||{}),a2=(r=>(r[r.UP=0]="UP",r[r.DOWN=1]="DOWN",r))(a2||{}),K=(r=>(r.ENGINE="Engine",r.SCENE="Scene",r.BASE_OBJECT="BaseObject",r.SCENE_VIEWER="SceneViewer",r.CANVAS="Canvas",r.VIEWPORT="Viewport",r.LAYER="Layer",r.GROUP="Group",r))(K||{});const u3=1e3,g0=2e3,g1=.5;var h1=(r=>(r[r.translate=0]="translate",r[r.resize=1]="resize",r[r.scale=2]="scale",r[r.skew=3]="skew",r[r.flip=4]="flip",r[r.all=5]="all",r))(h1||{});class l3{isEmpty(){return this._isEmpty()}toString(t){if(this.isEmpty())throw new Error("Output is empty.");return this._toString(t)}toRegExp(t){return new RegExp(this.toString(t),t)}}class W1 extends l3{constructor(...t){super(),this.data=[];for(const e of t)e instanceof W1?this.data.push(...e.data):this.data.push(h3(e));this._unique()}union(...t){return new W1(this,...t)}subtract(...t){const e=this.data.slice(),n=[];let s=0;const{data:i}=new W1(...t);for(;e.length!==0;){const a=e.shift(),[o,u]=a;let l;do{l=!0;const c=i[s];if(c===void 0){n.push(a);break}const[h,f]=c;f<o?(l=!1,s++):u<h?n.push(a):h<=o&&f<u?(s++,e.unshift([f+1,u])):o<h&&f<u?(s++,n.push([o,h-1]),e.unshift([f+1,u])):o<h&&u<=f&&n.push([o,h-1])}while(!l)}return new W1(...n)}intersect(...t){return this.subtract(this.subtract(...t))}_isEmpty(){return this.data.length===0}_toString(t){return d3(this.data,t)}_unique(){this.data.sort(f3);const t=[];let e=null;for(const n of this.data)e===null||e[1]+1<n[0]?(t.push(n),e=n):(t.splice(-1,1,[Math.min(n[0],e[0]),Math.max(n[1],e[1])]),e=t[t.length-1]);this.data=t}}const U2=(...r)=>new W1(...r);function c3(r){if(r.length!==1){const t=`${r.length} (${JSON.stringify(r)})`;throw new Error(`Expected length = 1, but received ${t}.`)}return r.charCodeAt(0)}function h3(r){if(typeof r=="number"&&(r<0||r>1114111))throw new Error(`Invalid unicode code point detected: ${r<0?r:`0x${r.toString(16)}`}`);const[t]=[r].map(e=>typeof e!="object"?[e,e]:e).map(e=>e.map(n=>typeof n=="string"?c3(n):n));return t}function f3(r,t){return r[0]-t[0]}function d3(r,t=""){if(t.includes("u"))return D0(r,!0);const{normal:e,surrogate:n}=g3(r),s=[];return e.length!==0&&s.push(D0(e,!1)),s.push(..._3(n)),s.join("|")}function D0(r,t){return`[${r.map(([n,s])=>n===s?o2(n,t):`${o2(n,t)}-${o2(s,t)}`).join("")}]`}function _3(r){const t=[];if(r.entire.data.length!==0){const e=r.entire.toString(),n=`[${[56320,57343].map(s=>o2(s,!1)).join("-")}]`;t.push(`${e}${n}`)}for(const{h:e,l:n}of r.partial){const s=o2(e,!1),i=n.toString();t.push(`${s}${i}`)}return t}function g3(r){const t=[],e=[];for(let n=0;n<r.length;n++){const s=r[n],[i,a]=s;if(i>=65536){e.push(...r.slice(n));break}if(a>=65536){t.push([i,65535]),e.push([65536,a],...r.slice(n+1));break}t.push(s)}return{normal:t,surrogate:D3(e)}}function D3(r){const t=[],e=[];for(const[i,a]of r){const o=p0(i),u=p0(a);if(o.h===u.h){s(o.h,o.l,u.l);continue}o.l===56320?n(o.h):s(o.h,o.l,57343);for(let l=o.h+1;l<u.h;l++)n(l);u.l===57343?n(u.h):s(u.h,56320,u.l)}return{entire:new W1(...t),partial:e.map(({h:i,l:a})=>({h:i,l:new W1(...a)}))};function n(i){t.push(i)}function s(i,a,o){const u=e[e.length-1];u!==void 0&&u.h===i?u.l.push([a,o]):e.push({h:i,l:[[a,o]]})}}function p0(r){return{h:Math.floor((r-65536)/1024)+55296,l:(r-65536)%1024+56320}}function o2(r,t){const e=r.toString(16);return t?`\\u{${e}}`:`\\u${"0".repeat(4-e.length)}${e}`}const p3=Object.freeze(Object.defineProperty({__proto__:null,Bidi_Class:Object.freeze(Object.defineProperty({__proto__:null,Arabic_Letter:[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]],Arabic_Number:[[1536,1541],[1632,1641],[1643,1644],1757,[2192,2193],2274,[68912,68921],[69216,69246]],Boundary_Neutral:[[0,8],[14,27],[127,132],[134,159],173,6158,[8203,8205],[8288,8292],[8298,8303],65279,[113824,113827],[119155,119162],917505,[917536,917631]],Common_Separator:[44,[46,47],58,160,1548,8239,8260,65104,65106,65109,65292,[65294,65295],65306],European_Number:[[48,57],[178,179],185,[1776,1785],8304,[8308,8313],[8320,8329],[9352,9371],[65296,65305],[66273,66299],[120782,120831],[127232,127242],[130032,130041]],European_Separator:[43,45,[8314,8315],[8330,8331],8722,64297,[65122,65123],65291,65293],European_Terminator:[[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],First_Strong_Isolate:[8296],Left_To_Right:[[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]],Left_To_Right_Embedding:[8234],Left_To_Right_Isolate:[8294],Left_To_Right_Override:[8237],Nonspacing_Mark:[[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]],Other_Neutral:[[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]],Paragraph_Separator:[10,13,[28,30],133,8233],Pop_Directional_Format:[8236],Pop_Directional_Isolate:[8297],Right_To_Left:[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]],Right_To_Left_Embedding:[8235],Right_To_Left_Isolate:[8295],Right_To_Left_Override:[8238],Segment_Separator:[9,11,31],White_Space:[12,32,5760,[8192,8202],8232,8287,12288]},Symbol.toStringTag,{value:"Module"})),Bidi_Mirroring_Glyph:Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Bidi_Paired_Bracket_Type:Object.freeze(Object.defineProperty({__proto__:null,Close:[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],None:[[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]],Open:[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]},Symbol.toStringTag,{value:"Module"})),Binary_Property:Object.freeze(Object.defineProperty({__proto__:null,ASCII:[[0,127]],ASCII_Hex_Digit:[[48,57],[65,70],[97,102]],Alphabetic:[[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]],Any:[[0,1114111]],Assigned:[[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]],Bidi_Control:[1564,[8206,8207],[8234,8238],[8294,8297]],Bidi_Mirrored:[[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],Case_Ignorable:[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]],Cased:[[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]],Changes_When_Casefolded:[[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]],Changes_When_Casemapped:[[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]],Changes_When_Lowercased:[[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]],Changes_When_NFKC_Casefolded:[[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]],Changes_When_Titlecased:[[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]],Changes_When_Uppercased:[[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]],Composition_Exclusion:[[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]],Dash:[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],Default_Ignorable_Code_Point:[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]],Deprecated:[329,1651,3959,3961,[6051,6052],[8298,8303],[9001,9002],917505],Diacritic:[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]],Emoji:[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]],Emoji_Component:[35,42,[48,57],8205,8419,65039,[127462,127487],[127995,127999],[129456,129459],[917536,917631]],Emoji_Modifier:[[127995,127999]],Emoji_Modifier_Base:[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]],Emoji_Presentation:[[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]],Expands_On_NFC:[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]],Expands_On_NFD:[[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]],Expands_On_NFKC:[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]],Expands_On_NFKD:[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]],Extended_Pictographic:[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]],Extender:[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]],Full_Composition_Exclusion:[[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]],Grapheme_Base:[[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]],Grapheme_Extend:[[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]],Grapheme_Link:[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]],Hex_Digit:[[48,57],[65,70],[97,102],[65296,65305],[65313,65318],[65345,65350]],Hyphen:[45,173,1418,6150,[8208,8209],11799,12539,65123,65293,65381],IDS_Binary_Operator:[[12272,12273],[12276,12283]],IDS_Trinary_Operator:[[12274,12275]],ID_Continue:[[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]],ID_Start:[[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]],Ideographic:[[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]],Join_Control:[[8204,8205]],Logical_Order_Exception:[[3648,3652],[3776,3780],[6581,6583],6586,[43701,43702],43705,[43707,43708]],Lowercase:[[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]],Math:[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]],Noncharacter_Code_Point:[[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]],Other_Alphabetic:[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]],Other_Default_Ignorable_Code_Point:[847,[4447,4448],[6068,6069],8293,12644,65440,[65520,65528],917504,[917506,917535],[917632,917759],[918e3,921599]],Other_Grapheme_Extend:[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]],Other_ID_Continue:[183,903,[4969,4977],6618],Other_ID_Start:[[6277,6278],8472,8494,[12443,12444]],Other_Lowercase:[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]],Other_Math:[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]],Other_Uppercase:[[8544,8559],[9398,9423],[127280,127305],[127312,127337],[127344,127369]],Pattern_Syntax:[[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]],Pattern_White_Space:[[9,13],32,133,[8206,8207],[8232,8233]],Prepended_Concatenation_Mark:[[1536,1541],1757,1807,[2192,2193],2274,69821,69837],Quotation_Mark:[34,39,171,187,[8216,8223],[8249,8250],11842,[12300,12303],[12317,12319],[65089,65092],65282,65287,[65378,65379]],Radical:[[11904,11929],[11931,12019],[12032,12245]],Regional_Indicator:[[127462,127487]],Sentence_Terminal:[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],Soft_Dotted:[[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],Terminal_Punctuation:[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]],Unified_Ideograph:[[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]],Uppercase:[[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]],Variation_Selector:[[6155,6157],6159,[65024,65039],[917760,917999]],White_Space:[[9,13],32,133,160,5760,[8192,8202],[8232,8233],8239,8287,12288],XID_Continue:[[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]],XID_Start:[[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]]},Symbol.toStringTag,{value:"Module"})),Block:Object.freeze(Object.defineProperty({__proto__:null,Adlam:[[125184,125279]],Aegean_Numbers:[[65792,65855]],Ahom:[[71424,71503]],Alchemical_Symbols:[[128768,128895]],Alphabetic_Presentation_Forms:[[64256,64335]],Anatolian_Hieroglyphs:[[82944,83583]],Ancient_Greek_Musical_Notation:[[119296,119375]],Ancient_Greek_Numbers:[[65856,65935]],Ancient_Symbols:[[65936,65999]],Arabic:[[1536,1791]],Arabic_Extended_A:[[2208,2303]],Arabic_Mathematical_Alphabetic_Symbols:[[126464,126719]],Arabic_Presentation_Forms_A:[[64336,65023]],Arabic_Presentation_Forms_B:[[65136,65279]],Arabic_Supplement:[[1872,1919]],Armenian:[[1328,1423]],Arrows:[[8592,8703]],Avestan:[[68352,68415]],Balinese:[[6912,7039]],Bamum:[[42656,42751]],Bamum_Supplement:[[92160,92735]],Basic_Latin:[[0,127]],Bassa_Vah:[[92880,92927]],Batak:[[7104,7167]],Bengali:[[2432,2559]],Bhaiksuki:[[72704,72815]],Block_Elements:[[9600,9631]],Bopomofo:[[12544,12591]],Bopomofo_Extended:[[12704,12735]],Box_Drawing:[[9472,9599]],Brahmi:[[69632,69759]],Braille_Patterns:[[10240,10495]],Buginese:[[6656,6687]],Buhid:[[5952,5983]],Byzantine_Musical_Symbols:[[118784,119039]],CJK_Compatibility:[[13056,13311]],CJK_Compatibility_Forms:[[65072,65103]],CJK_Compatibility_Ideographs:[[63744,64255]],CJK_Compatibility_Ideographs_Supplement:[[194560,195103]],CJK_Radicals_Supplement:[[11904,12031]],CJK_Strokes:[[12736,12783]],CJK_Symbols_And_Punctuation:[[12288,12351]],CJK_Unified_Ideographs:[[19968,40959]],CJK_Unified_Ideographs_Extension_A:[[13312,19903]],CJK_Unified_Ideographs_Extension_B:[[131072,173791]],CJK_Unified_Ideographs_Extension_C:[[173824,177983]],CJK_Unified_Ideographs_Extension_D:[[177984,178207]],CJK_Unified_Ideographs_Extension_E:[[178208,183983]],CJK_Unified_Ideographs_Extension_F:[[183984,191471]],Carian:[[66208,66271]],Caucasian_Albanian:[[66864,66927]],Chakma:[[69888,69967]],Cham:[[43520,43615]],Cherokee:[[5024,5119]],Cherokee_Supplement:[[43888,43967]],Chess_Symbols:[[129536,129647]],Combining_Diacritical_Marks:[[768,879]],Combining_Diacritical_Marks_Extended:[[6832,6911]],Combining_Diacritical_Marks_For_Symbols:[[8400,8447]],Combining_Diacritical_Marks_Supplement:[[7616,7679]],Combining_Half_Marks:[[65056,65071]],Common_Indic_Number_Forms:[[43056,43071]],Control_Pictures:[[9216,9279]],Coptic:[[11392,11519]],Coptic_Epact_Numbers:[[66272,66303]],Counting_Rod_Numerals:[[119648,119679]],Cuneiform:[[73728,74751]],Cuneiform_Numbers_And_Punctuation:[[74752,74879]],Currency_Symbols:[[8352,8399]],Cypriot_Syllabary:[[67584,67647]],Cyrillic:[[1024,1279]],Cyrillic_Extended_A:[[11744,11775]],Cyrillic_Extended_B:[[42560,42655]],Cyrillic_Extended_C:[[7296,7311]],Cyrillic_Supplement:[[1280,1327]],Deseret:[[66560,66639]],Devanagari:[[2304,2431]],Devanagari_Extended:[[43232,43263]],Dingbats:[[9984,10175]],Dogra:[[71680,71759]],Domino_Tiles:[[127024,127135]],Duployan:[[113664,113823]],Early_Dynastic_Cuneiform:[[74880,75087]],Egyptian_Hieroglyphs:[[77824,78895]],Elbasan:[[66816,66863]],Emoticons:[[128512,128591]],Enclosed_Alphanumeric_Supplement:[[127232,127487]],Enclosed_Alphanumerics:[[9312,9471]],Enclosed_CJK_Letters_And_Months:[[12800,13055]],Enclosed_Ideographic_Supplement:[[127488,127743]],Ethiopic:[[4608,4991]],Ethiopic_Extended:[[11648,11743]],Ethiopic_Extended_A:[[43776,43823]],Ethiopic_Supplement:[[4992,5023]],General_Punctuation:[[8192,8303]],Geometric_Shapes:[[9632,9727]],Geometric_Shapes_Extended:[[128896,129023]],Georgian:[[4256,4351]],Georgian_Extended:[[7312,7359]],Georgian_Supplement:[[11520,11567]],Glagolitic:[[11264,11359]],Glagolitic_Supplement:[[122880,122927]],Gothic:[[66352,66383]],Grantha:[[70400,70527]],Greek_And_Coptic:[[880,1023]],Greek_Extended:[[7936,8191]],Gujarati:[[2688,2815]],Gunjala_Gondi:[[73056,73135]],Gurmukhi:[[2560,2687]],Halfwidth_And_Fullwidth_Forms:[[65280,65519]],Hangul_Compatibility_Jamo:[[12592,12687]],Hangul_Jamo:[[4352,4607]],Hangul_Jamo_Extended_A:[[43360,43391]],Hangul_Jamo_Extended_B:[[55216,55295]],Hangul_Syllables:[[44032,55215]],Hanifi_Rohingya:[[68864,68927]],Hanunoo:[[5920,5951]],Hatran:[[67808,67839]],Hebrew:[[1424,1535]],High_Private_Use_Surrogates:[[56192,56319]],High_Surrogates:[[55296,56191]],Hiragana:[[12352,12447]],IPA_Extensions:[[592,687]],Ideographic_Description_Characters:[[12272,12287]],Ideographic_Symbols_And_Punctuation:[[94176,94207]],Imperial_Aramaic:[[67648,67679]],Indic_Siyaq_Numbers:[[126064,126143]],Inscriptional_Pahlavi:[[68448,68479]],Inscriptional_Parthian:[[68416,68447]],Javanese:[[43392,43487]],Kaithi:[[69760,69839]],Kana_Extended_A:[[110848,110895]],Kana_Supplement:[[110592,110847]],Kanbun:[[12688,12703]],Kangxi_Radicals:[[12032,12255]],Kannada:[[3200,3327]],Katakana:[[12448,12543]],Katakana_Phonetic_Extensions:[[12784,12799]],Kayah_Li:[[43264,43311]],Kharoshthi:[[68096,68191]],Khmer:[[6016,6143]],Khmer_Symbols:[[6624,6655]],Khojki:[[70144,70223]],Khudawadi:[[70320,70399]],Lao:[[3712,3839]],Latin_1_Supplement:[[128,255]],Latin_Extended_A:[[256,383]],Latin_Extended_Additional:[[7680,7935]],Latin_Extended_B:[[384,591]],Latin_Extended_C:[[11360,11391]],Latin_Extended_D:[[42784,43007]],Latin_Extended_E:[[43824,43887]],Lepcha:[[7168,7247]],Letterlike_Symbols:[[8448,8527]],Limbu:[[6400,6479]],Linear_A:[[67072,67455]],Linear_B_Ideograms:[[65664,65791]],Linear_B_Syllabary:[[65536,65663]],Lisu:[[42192,42239]],Low_Surrogates:[[56320,57343]],Lycian:[[66176,66207]],Lydian:[[67872,67903]],Mahajani:[[69968,70015]],Mahjong_Tiles:[[126976,127023]],Makasar:[[73440,73471]],Malayalam:[[3328,3455]],Mandaic:[[2112,2143]],Manichaean:[[68288,68351]],Marchen:[[72816,72895]],Masaram_Gondi:[[72960,73055]],Mathematical_Alphanumeric_Symbols:[[119808,120831]],Mathematical_Operators:[[8704,8959]],Mayan_Numerals:[[119520,119551]],Medefaidrin:[[93760,93855]],Meetei_Mayek:[[43968,44031]],Meetei_Mayek_Extensions:[[43744,43775]],Mende_Kikakui:[[124928,125151]],Meroitic_Cursive:[[68e3,68095]],Meroitic_Hieroglyphs:[[67968,67999]],Miao:[[93952,94111]],Miscellaneous_Mathematical_Symbols_A:[[10176,10223]],Miscellaneous_Mathematical_Symbols_B:[[10624,10751]],Miscellaneous_Symbols:[[9728,9983]],Miscellaneous_Symbols_And_Arrows:[[11008,11263]],Miscellaneous_Symbols_And_Pictographs:[[127744,128511]],Miscellaneous_Technical:[[8960,9215]],Modi:[[71168,71263]],Modifier_Tone_Letters:[[42752,42783]],Mongolian:[[6144,6319]],Mongolian_Supplement:[[71264,71295]],Mro:[[92736,92783]],Multani:[[70272,70319]],Musical_Symbols:[[119040,119295]],Myanmar:[[4096,4255]],Myanmar_Extended_A:[[43616,43647]],Myanmar_Extended_B:[[43488,43519]],NKo:[[1984,2047]],Nabataean:[[67712,67759]],New_Tai_Lue:[[6528,6623]],Newa:[[70656,70783]],Number_Forms:[[8528,8591]],Nushu:[[110960,111359]],Ogham:[[5760,5791]],Ol_Chiki:[[7248,7295]],Old_Hungarian:[[68736,68863]],Old_Italic:[[66304,66351]],Old_North_Arabian:[[68224,68255]],Old_Permic:[[66384,66431]],Old_Persian:[[66464,66527]],Old_Sogdian:[[69376,69423]],Old_South_Arabian:[[68192,68223]],Old_Turkic:[[68608,68687]],Optical_Character_Recognition:[[9280,9311]],Oriya:[[2816,2943]],Ornamental_Dingbats:[[128592,128639]],Osage:[[66736,66815]],Osmanya:[[66688,66735]],Pahawh_Hmong:[[92928,93071]],Palmyrene:[[67680,67711]],Pau_Cin_Hau:[[72384,72447]],Phags_Pa:[[43072,43135]],Phaistos_Disc:[[66e3,66047]],Phoenician:[[67840,67871]],Phonetic_Extensions:[[7424,7551]],Phonetic_Extensions_Supplement:[[7552,7615]],Playing_Cards:[[127136,127231]],Private_Use_Area:[[57344,63743]],Psalter_Pahlavi:[[68480,68527]],Rejang:[[43312,43359]],Rumi_Numeral_Symbols:[[69216,69247]],Runic:[[5792,5887]],Samaritan:[[2048,2111]],Saurashtra:[[43136,43231]],Sharada:[[70016,70111]],Shavian:[[66640,66687]],Shorthand_Format_Controls:[[113824,113839]],Siddham:[[71040,71167]],Sinhala:[[3456,3583]],Sinhala_Archaic_Numbers:[[70112,70143]],Small_Form_Variants:[[65104,65135]],Sogdian:[[69424,69487]],Sora_Sompeng:[[69840,69887]],Soyombo:[[72272,72367]],Spacing_Modifier_Letters:[[688,767]],Specials:[[65520,65535]],Sundanese:[[7040,7103]],Sundanese_Supplement:[[7360,7375]],Superscripts_And_Subscripts:[[8304,8351]],Supplemental_Arrows_A:[[10224,10239]],Supplemental_Arrows_B:[[10496,10623]],Supplemental_Arrows_C:[[129024,129279]],Supplemental_Mathematical_Operators:[[10752,11007]],Supplemental_Punctuation:[[11776,11903]],Supplemental_Symbols_And_Pictographs:[[129280,129535]],Supplementary_Private_Use_Area_A:[[983040,1048575]],Supplementary_Private_Use_Area_B:[[1048576,1114111]],Sutton_SignWriting:[[120832,121519]],Syloti_Nagri:[[43008,43055]],Syriac:[[1792,1871]],Syriac_Supplement:[[2144,2159]],Tagalog:[[5888,5919]],Tagbanwa:[[5984,6015]],Tags:[[917504,917631]],Tai_Le:[[6480,6527]],Tai_Tham:[[6688,6831]],Tai_Viet:[[43648,43743]],Tai_Xuan_Jing_Symbols:[[119552,119647]],Takri:[[71296,71375]],Tamil:[[2944,3071]],Tangut:[[94208,100351]],Tangut_Components:[[100352,101119]],Telugu:[[3072,3199]],Thaana:[[1920,1983]],Thai:[[3584,3711]],Tibetan:[[3840,4095]],Tifinagh:[[11568,11647]],Tirhuta:[[70784,70879]],Transport_And_Map_Symbols:[[128640,128767]],Ugaritic:[[66432,66463]],Unified_Canadian_Aboriginal_Syllabics:[[5120,5759]],Unified_Canadian_Aboriginal_Syllabics_Extended:[[6320,6399]],Vai:[[42240,42559]],Variation_Selectors:[[65024,65039]],Variation_Selectors_Supplement:[[917760,917999]],Vedic_Extensions:[[7376,7423]],Vertical_Forms:[[65040,65055]],Warang_Citi:[[71840,71935]],Yi_Radicals:[[42128,42191]],Yi_Syllables:[[40960,42127]],Yijing_Hexagram_Symbols:[[19904,19967]],Zanabazar_Square:[[72192,72271]],undefined:[[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]]},Symbol.toStringTag,{value:"Module"})),Case_Folding:Object.freeze(Object.defineProperty({__proto__:null,C:[],F:[],S:[],T:[]},Symbol.toStringTag,{value:"Module"})),General_Category:Object.freeze(Object.defineProperty({__proto__:null,Cased_Letter:[[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]],Close_Punctuation:[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],Connector_Punctuation:[95,[8255,8256],8276,[65075,65076],[65101,65103],65343],Control:[[0,31],[127,159]],Currency_Symbol:[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],Dash_Punctuation:[45,1418,1470,5120,6150,[8208,8213],11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],Decimal_Number:[[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]],Enclosing_Mark:[[1160,1161],6846,[8413,8416],[8418,8420],[42608,42610]],Final_Punctuation:[187,8217,8221,8250,11779,11781,11786,11789,11805,11809],Format:[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]],Initial_Punctuation:[171,8216,[8219,8220],8223,8249,11778,11780,11785,11788,11804,11808],Letter:[[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]],Letter_Number:[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]],Line_Separator:[8232],Lowercase_Letter:[[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]],Mark:[[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]],Math_Symbol:[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]],Modifier_Letter:[[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],Modifier_Symbol:[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]],Nonspacing_Mark:[[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]],Number:[[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]],Open_Punctuation:[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],Other:[[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]],Other_Letter:[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]],Other_Number:[[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]],Other_Punctuation:[[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]],Other_Symbol:[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]],Paragraph_Separator:[8233],Private_Use:[[57344,63743],[983040,1048573],[1048576,1114109]],Punctuation:[[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]],Separator:[32,160,5760,[8192,8202],[8232,8233],8239,8287,12288],Space_Separator:[32,160,5760,[8192,8202],8239,8287,12288],Spacing_Mark:[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]],Surrogate:[[55296,57343]],Symbol:[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]],Titlecase_Letter:[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],Unassigned:[[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]],Uppercase_Letter:[[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]]},Symbol.toStringTag,{value:"Module"})),Line_Break:Object.freeze(Object.defineProperty({__proto__:null,Alphabetic:[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]],Ambiguous:[[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]],Break_After:[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]],Break_Before:[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],Break_Both:[8212,[11834,11835]],Break_Symbols:[47],Carriage_Return:[13],Close_Parenthesis:[41,93],Close_Punctuation:[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],Combining_Mark:[[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]],Complex_Context:[[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]],Conditional_Japanese_Starter:[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]],Contingent_Break:[65532],E_Base:[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]],E_Modifier:[[127995,127999]],Exclamation:[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],Glue:[160,847,[860,866],3848,3852,3858,[4057,4058],6158,7629,7676,8199,8209,8239,[78896,78902],[78905,78907],94180],H2:[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],H3:[[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]],Hebrew_Letter:[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Hyphen:[45],Ideographic:[[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]],Infix_Numeric:[44,46,[58,59],894,1417,[1548,1549],2040,8260,65040,[65043,65044]],Inseparable:[[8228,8230],8943,65049,68342],JL:[[4352,4447],[43360,43388]],JT:[[4520,4607],[55243,55291]],JV:[[4448,4519],[55216,55238]],Line_Feed:[10],Mandatory_Break:[[11,12],[8232,8233]],Next_Line:[133],Nonstarter:[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]],Numeric:[[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]],Open_Punctuation:[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]],Postfix_Numeric:[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],Prefix_Numeric:[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],Quotation:[34,39,171,187,[8216,8217],[8219,8221],8223,[8249,8250],[10075,10080],[11776,11789],[11804,11805],[11808,11809],[128630,128632]],Regional_Indicator:[[127462,127487]],Space:[32],Surrogate:[[55296,57343]],Unknown:[[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]],Word_Joiner:[8288,65279],ZWJ:[8205],ZWSpace:[8203]},Symbol.toStringTag,{value:"Module"})),Script:Object.freeze(Object.defineProperty({__proto__:null,Adlam:[[125184,125259],[125264,125273],[125278,125279]],Ahom:[[71424,71450],[71453,71467],[71472,71494]],Anatolian_Hieroglyphs:[[82944,83526]],Arabic:[[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]],Armenian:[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],Avestan:[[68352,68405],[68409,68415]],Balinese:[[6912,6988],[6992,7038]],Bamum:[[42656,42743],[92160,92728]],Bassa_Vah:[[92880,92909],[92912,92917]],Batak:[[7104,7155],[7164,7167]],Bengali:[[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]],Bhaiksuki:[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],Bopomofo:[[746,747],[12549,12591],[12704,12735]],Brahmi:[[69632,69709],[69714,69749],69759],Braille:[[10240,10495]],Buginese:[[6656,6683],[6686,6687]],Buhid:[[5952,5971]],Canadian_Aboriginal:[[5120,5759],[6320,6389],[72368,72383]],Carian:[[66208,66256]],Caucasian_Albanian:[[66864,66915],66927],Chakma:[[69888,69940],[69942,69959]],Cham:[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],Cherokee:[[5024,5109],[5112,5117],[43888,43967]],Chorasmian:[[69552,69579]],Common:[[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]],Coptic:[[994,1007],[11392,11507],[11513,11519]],Cuneiform:[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],Cypriot:[[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],Cypro_Minoan:[[77712,77810]],Cyrillic:[[1024,1156],[1159,1327],[7296,7304],7467,7544,[11744,11775],[42560,42655],[65070,65071],[122928,122989],123023],Deseret:[[66560,66639]],Devanagari:[[2304,2384],[2389,2403],[2406,2431],[43232,43263],[72448,72457]],Dives_Akuru:[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],Dogra:[[71680,71739]],Duployan:[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113823]],Egyptian_Hieroglyphs:[[77824,78933]],Elbasan:[[66816,66855]],Elymaic:[[69600,69622]],Ethiopic:[[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]],Georgian:[[4256,4293],4295,4301,[4304,4346],[4348,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],Glagolitic:[[11264,11359],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],Gothic:[[66352,66378]],Grantha:[[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]],Greek:[[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]],Gujarati:[[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]],Gunjala_Gondi:[[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],Gurmukhi:[[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]],Han:[[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]],Hangul:[[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]],Hanifi_Rohingya:[[68864,68903],[68912,68921]],Hanunoo:[[5920,5940]],Hatran:[[67808,67826],[67828,67829],[67835,67839]],Hebrew:[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Hiragana:[[12353,12438],[12445,12447],[110593,110879],110898,[110928,110930],127488],Imperial_Aramaic:[[67648,67669],[67671,67679]],Inherited:[[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]],Inscriptional_Pahlavi:[[68448,68466],[68472,68479]],Inscriptional_Parthian:[[68416,68437],[68440,68447]],Javanese:[[43392,43469],[43472,43481],[43486,43487]],Kaithi:[[69760,69826],69837],Kannada:[[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]],Katakana:[[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]],Kawi:[[73472,73488],[73490,73530],[73534,73561]],Kayah_Li:[[43264,43309],43311],Kharoshthi:[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],Khitan_Small_Script:[94180,[101120,101589]],Khmer:[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],Khojki:[[70144,70161],[70163,70209]],Khudawadi:[[70320,70378],[70384,70393]],Lao:[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],Latin:[[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]],Lepcha:[[7168,7223],[7227,7241],[7245,7247]],Limbu:[[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],Linear_A:[[67072,67382],[67392,67413],[67424,67431]],Linear_B:[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786]],Lisu:[[42192,42239],73648],Lycian:[[66176,66204]],Lydian:[[67872,67897],67903],Mahajani:[[69968,70006]],Makasar:[[73440,73464]],Malayalam:[[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455]],Mandaic:[[2112,2139],2142],Manichaean:[[68288,68326],[68331,68342]],Marchen:[[72816,72847],[72850,72871],[72873,72886]],Masaram_Gondi:[[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],Medefaidrin:[[93760,93850]],Meetei_Mayek:[[43744,43766],[43968,44013],[44016,44025]],Mende_Kikakui:[[124928,125124],[125127,125142]],Meroitic_Cursive:[[68e3,68023],[68028,68047],[68050,68095]],Meroitic_Hieroglyphs:[[67968,67999]],Miao:[[93952,94026],[94031,94087],[94095,94111]],Modi:[[71168,71236],[71248,71257]],Mongolian:[[6144,6145],6148,[6150,6169],[6176,6264],[6272,6314],[71264,71276]],Mro:[[92736,92766],[92768,92777],[92782,92783]],Multani:[[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Myanmar:[[4096,4255],[43488,43518],[43616,43647]],Nabataean:[[67712,67742],[67751,67759]],Nag_Mundari:[[124112,124153]],Nandinagari:[[72096,72103],[72106,72151],[72154,72164]],New_Tai_Lue:[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Newa:[[70656,70747],[70749,70753]],Nko:[[1984,2042],[2045,2047]],Nushu:[94177,[110960,111355]],Nyiakeng_Puachue_Hmong:[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],Ogham:[[5760,5788]],Ol_Chiki:[[7248,7295]],Old_Hungarian:[[68736,68786],[68800,68850],[68858,68863]],Old_Italic:[[66304,66339],[66349,66351]],Old_North_Arabian:[[68224,68255]],Old_Permic:[[66384,66426]],Old_Persian:[[66464,66499],[66504,66517]],Old_Sogdian:[[69376,69415]],Old_South_Arabian:[[68192,68223]],Old_Turkic:[[68608,68680]],Old_Uyghur:[[69488,69513]],Oriya:[[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]],Osage:[[66736,66771],[66776,66811]],Osmanya:[[66688,66717],[66720,66729]],Pahawh_Hmong:[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],Palmyrene:[[67680,67711]],Pau_Cin_Hau:[[72384,72440]],Phags_Pa:[[43072,43127]],Phoenician:[[67840,67867],67871],Psalter_Pahlavi:[[68480,68497],[68505,68508],[68521,68527]],Rejang:[[43312,43347],43359],Runic:[[5792,5866],[5870,5880]],Samaritan:[[2048,2093],[2096,2110]],Saurashtra:[[43136,43205],[43214,43225]],Sharada:[[70016,70111]],Shavian:[[66640,66687]],Siddham:[[71040,71093],[71096,71133]],SignWriting:[[120832,121483],[121499,121503],[121505,121519]],Sinhala:[[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],Sogdian:[[69424,69465]],Sora_Sompeng:[[69840,69864],[69872,69881]],Soyombo:[[72272,72354]],Sundanese:[[7040,7103],[7360,7367]],Syloti_Nagri:[[43008,43052]],Syriac:[[1792,1805],[1807,1866],[1869,1871],[2144,2154]],Tagalog:[[5888,5909],5919],Tagbanwa:[[5984,5996],[5998,6e3],[6002,6003]],Tai_Le:[[6480,6509],[6512,6516]],Tai_Tham:[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],Tai_Viet:[[43648,43714],[43739,43743]],Takri:[[71296,71353],[71360,71369]],Tamil:[[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],Tangsa:[[92784,92862],[92864,92873]],Tangut:[94176,[94208,100343],[100352,101119],[101632,101640]],Telugu:[[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]],Thaana:[[1920,1969]],Thai:[[3585,3642],[3648,3675]],Tibetan:[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],Tifinagh:[[11568,11623],[11631,11632],11647],Tirhuta:[[70784,70855],[70864,70873]],Toto:[[123536,123566]],Ugaritic:[[66432,66461],66463],Vai:[[42240,42539]],Vithkuqi:[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],Wancho:[[123584,123641],123647],Warang_Citi:[[71840,71922],71935],Yezidi:[[69248,69289],[69291,69293],[69296,69297]],Yi:[[40960,42124],[42128,42182]],Zanabazar_Square:[[72192,72263]]},Symbol.toStringTag,{value:"Module"})),Script_Extensions:Object.freeze(Object.defineProperty({__proto__:null,Adlam:[1567,1600,[125184,125259],[125264,125273],[125278,125279]],Ahom:[[71424,71450],[71453,71467],[71472,71494]],Anatolian_Hieroglyphs:[[82944,83526]],Arabic:[[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]],Armenian:[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],Avestan:[[68352,68405],[68409,68415]],Balinese:[[6912,6988],[6992,7038]],Bamum:[[42656,42743],[92160,92728]],Bassa_Vah:[[92880,92909],[92912,92917]],Batak:[[7104,7155],[7164,7167]],Bengali:[[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],Bhaiksuki:[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],Bopomofo:[[746,747],[12289,12291],[12296,12305],[12307,12319],[12330,12333],12336,12343,12539,[12549,12591],[12704,12735],[65093,65094],[65377,65381]],Brahmi:[[69632,69709],[69714,69749],69759],Braille:[[10240,10495]],Buginese:[[6656,6683],[6686,6687],43471],Buhid:[[5941,5942],[5952,5971]],Canadian_Aboriginal:[[5120,5759],[6320,6389],[72368,72383]],Carian:[[66208,66256]],Caucasian_Albanian:[[66864,66915],66927],Chakma:[[2534,2543],[4160,4169],[69888,69940],[69942,69959]],Cham:[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],Cherokee:[[5024,5109],[5112,5117],[43888,43967]],Chorasmian:[[69552,69579]],Common:[[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]],Coptic:[[994,1007],[11392,11507],[11513,11519],[66272,66299]],Cuneiform:[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],Cypriot:[[65792,65794],[65799,65843],[65847,65855],[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],Cypro_Minoan:[[65792,65793],[77712,77810]],Cyrillic:[[1024,1327],[7296,7304],7467,7544,7672,[11744,11775],11843,[42560,42655],[65070,65071],[122928,122989],123023],Deseret:[[66560,66639]],Devanagari:[[2304,2386],[2389,2431],[7376,7414],[7416,7417],8432,[43056,43065],[43232,43263],[72448,72457]],Dives_Akuru:[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],Dogra:[[2404,2415],[43056,43065],[71680,71739]],Duployan:[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827]],Egyptian_Hieroglyphs:[[77824,78933]],Elbasan:[[66816,66855]],Elymaic:[[69600,69622]],Ethiopic:[[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]],Georgian:[[4256,4293],4295,4301,[4304,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],Glagolitic:[1156,1159,[11264,11359],11843,42607,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],Gothic:[[66352,66378]],Grantha:[[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],Greek:[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]],Gujarati:[[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]],Gunjala_Gondi:[[2404,2405],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],Gurmukhi:[[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]],Han:[[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]],Hangul:[[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]],Hanifi_Rohingya:[1548,1563,1567,1600,1748,[68864,68903],[68912,68921]],Hanunoo:[[5920,5942]],Hatran:[[67808,67826],[67828,67829],[67835,67839]],Hebrew:[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Hiragana:[[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],Imperial_Aramaic:[[67648,67669],[67671,67679]],Inherited:[[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]],Inscriptional_Pahlavi:[[68448,68466],[68472,68479]],Inscriptional_Parthian:[[68416,68437],[68440,68447]],Javanese:[[43392,43469],[43471,43481],[43486,43487]],Kaithi:[[2406,2415],[43056,43065],[69760,69826],69837],Kannada:[[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]],Katakana:[[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]],Kawi:[[73472,73488],[73490,73530],[73534,73561]],Kayah_Li:[[43264,43311]],Kharoshthi:[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],Khitan_Small_Script:[94180,[101120,101589]],Khmer:[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],Khojki:[[2790,2799],[43056,43065],[70144,70161],[70163,70209]],Khudawadi:[[2404,2405],[43056,43065],[70320,70378],[70384,70393]],Lao:[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],Latin:[[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]],Lepcha:[[7168,7223],[7227,7241],[7245,7247]],Limbu:[2405,[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],Linear_A:[[65799,65843],[67072,67382],[67392,67413],[67424,67431]],Linear_B:[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65855]],Lisu:[[42192,42239],73648],Lycian:[[66176,66204]],Lydian:[[67872,67897],67903],Mahajani:[[2404,2415],[43056,43065],[69968,70006]],Makasar:[[73440,73464]],Malayalam:[[2385,2386],[2404,2405],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],7386,[43056,43058]],Mandaic:[1600,[2112,2139],2142],Manichaean:[1600,[68288,68326],[68331,68342]],Marchen:[[72816,72847],[72850,72871],[72873,72886]],Masaram_Gondi:[[2404,2405],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],Medefaidrin:[[93760,93850]],Meetei_Mayek:[[43744,43766],[43968,44013],[44016,44025]],Mende_Kikakui:[[124928,125124],[125127,125142]],Meroitic_Cursive:[[68e3,68023],[68028,68047],[68050,68095]],Meroitic_Hieroglyphs:[[67968,67999]],Miao:[[93952,94026],[94031,94087],[94095,94111]],Modi:[[43056,43065],[71168,71236],[71248,71257]],Mongolian:[[6144,6169],[6176,6264],[6272,6314],8239,[71264,71276]],Mro:[[92736,92766],[92768,92777],[92782,92783]],Multani:[[2662,2671],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],Myanmar:[[4096,4255],43310,[43488,43518],[43616,43647]],Nabataean:[[67712,67742],[67751,67759]],Nag_Mundari:[[124112,124153]],Nandinagari:[[2404,2405],[3302,3311],7401,7410,7418,[43056,43061],[72096,72103],[72106,72151],[72154,72164]],New_Tai_Lue:[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Newa:[[70656,70747],[70749,70753]],Nko:[1548,1563,1567,[1984,2042],[2045,2047],[64830,64831]],Nushu:[94177,[110960,111355]],Nyiakeng_Puachue_Hmong:[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],Ogham:[[5760,5788]],Ol_Chiki:[[7248,7295]],Old_Hungarian:[[68736,68786],[68800,68850],[68858,68863]],Old_Italic:[[66304,66339],[66349,66351]],Old_North_Arabian:[[68224,68255]],Old_Permic:[1155,[66384,66426]],Old_Persian:[[66464,66499],[66504,66517]],Old_Sogdian:[[69376,69415]],Old_South_Arabian:[[68192,68223]],Old_Turkic:[[68608,68680]],Old_Uyghur:[1600,68338,[69488,69513]],Oriya:[[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],Osage:[[66736,66771],[66776,66811]],Osmanya:[[66688,66717],[66720,66729]],Pahawh_Hmong:[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],Palmyrene:[[67680,67711]],Pau_Cin_Hau:[[72384,72440]],Phags_Pa:[[6146,6147],6149,[43072,43127]],Phoenician:[[67840,67867],67871],Psalter_Pahlavi:[1600,[68480,68497],[68505,68508],[68521,68527]],Rejang:[[43312,43347],43359],Runic:[[5792,5866],[5870,5880]],Samaritan:[[2048,2093],[2096,2110]],Saurashtra:[[43136,43205],[43214,43225]],Sharada:[2385,7383,7385,[7388,7389],7392,[70016,70111]],Shavian:[[66640,66687]],Siddham:[[71040,71093],[71096,71133]],SignWriting:[[120832,121483],[121499,121503],[121505,121519]],Sinhala:[[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]],Sogdian:[1600,[69424,69465]],Sora_Sompeng:[[69840,69864],[69872,69881]],Soyombo:[[72272,72354]],Sundanese:[[7040,7103],[7360,7367]],Syloti_Nagri:[[2404,2405],[2534,2543],[43008,43052]],Syriac:[1548,[1563,1564],1567,1600,[1611,1621],1648,[1792,1805],[1807,1866],[1869,1871],[2144,2154],7672,7674],Tagalog:[[5888,5909],5919,[5941,5942]],Tagbanwa:[[5941,5942],[5984,5996],[5998,6e3],[6002,6003]],Tai_Le:[[4160,4169],[6480,6509],[6512,6516]],Tai_Tham:[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],Tai_Viet:[[43648,43714],[43739,43743]],Takri:[[2404,2405],[43056,43065],[71296,71353],[71360,71369]],Tamil:[[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],Tangsa:[[92784,92862],[92864,92873]],Tangut:[94176,[94208,100343],[100352,101119],[101632,101640]],Telugu:[[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],Thaana:[1548,[1563,1564],1567,[1632,1641],[1920,1969],65010,65021],Thai:[[3585,3642],[3648,3675]],Tibetan:[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],Tifinagh:[[11568,11623],[11631,11632],11647],Tirhuta:[[2385,2386],[2404,2405],7410,[43056,43065],[70784,70855],[70864,70873]],Toto:[[123536,123566]],Ugaritic:[[66432,66461],66463],Vai:[[42240,42539]],Vithkuqi:[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],Wancho:[[123584,123641],123647],Warang_Citi:[[71840,71922],71935],Yezidi:[1548,1563,1567,[1632,1641],[69248,69289],[69291,69293],[69296,69297]],Yi:[[12289,12290],[12296,12305],[12308,12315],12539,[40960,42124],[42128,42182],[65377,65381]],Zanabazar_Square:[[72192,72263]]},Symbol.toStringTag,{value:"Module"})),Word_Break:Object.freeze(Object.defineProperty({__proto__:null,ALetter:[[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]],CR:[13],Double_Quote:[34],Extend:[[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]],ExtendNumLet:[95,8239,[8255,8256],8276,[65075,65076],[65101,65103],65343],Format:[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],Hebrew_Letter:[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Katakana:[[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]],LF:[10],MidLetter:[58,183,903,1375,1524,8231,65043,65109,65306],MidNum:[44,59,894,1417,[1548,1549],1644,2040,8260,65040,65044,65104,65108,65292,65307],MidNumLet:[46,[8216,8217],8228,65106,65287,65294],Newline:[[11,12],133,[8232,8233]],Numeric:[[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]],Other:[[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]],Regional_Indicator:[[127462,127487]],Single_Quote:[39],WSegSpace:[32,5760,[8192,8198],[8200,8202],8287,12288],ZWJ:[8205]},Symbol.toStringTag,{value:"Module"}))},Symbol.toStringTag,{value:"Module"}));function v0(r){const t=Object.keys(r);if(t.length===0)throw new Error("Expected at least one category, but received 0.");if(t.some(n=>{const s=r[n];return s===void 0||s.length===0}))throw new Error("Expected at least one sub category, but received 0.");return t.map(n=>{const i=r[n].map(a=>v3(n,a));return new W1().union(...i)}).reduce((n,s)=>n.intersect(s))}function v3(r,t){const n=p3[r][t];return new W1().union(...n)}const Ot=v0({Script:["Han","Katakana","Hiragana","Hangul","Bopomofo"],General_Category:["Other_Letter","Letter_Number","Other_Symbol","Modifier_Letter"]}),m0=v0({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(Ot),m3=U2(Ot,m0);function b3(){return U2(m3)}function y3(){return U2(Ot)}function F3(){return U2(m0)}const b0="0",y0=r=>({sbr:.6,sbo:r,spr:.6,spo:r});class ee{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(t,e,n){this._globalFontMeasureCache.has(t)||this._globalFontMeasureCache.set(t,new Map);const s=this._globalFontMeasureCache.get(t);s&&s.set(e,n)}static clearFontMeasureCache(t){var n;const e=t.split("/");if(e.length===1){const s=e[0];this._globalFontMeasureCache.delete(s)}else if(e.length===2){const s=e[0],i=e[1];(n=this._globalFontMeasureCache.get(s))==null||n.delete(i)}else return!1;return!0}static getFontMeasureCache(t,e){var n;return(n=this._globalFontMeasureCache.get(t))==null?void 0:n.get(e)}static autoCleanFontMeasureCache(t=1e6){let e=0,n=!1;for(const s of this._globalFontMeasureCache){const[,i]=s;if(e+=i.size,e>t){n=!0;break}}if(n){let s=0;for(const i of this._globalFontMeasureCache){const[a,o]=i;if(s+=o.size,s>t/2){const u=s-t/2;this._clearMeasureCache(u,o);break}this._globalFontMeasureCache.delete(a)}return!0}return!1}static getBaselineOffsetInfo(t,e){if(this._fontDataMap.size===0)return y0(e);const n=t.split(",");for(let s of n){s=s.replace(/'/g,"");const i=this._fontDataMap.get(s);if(!i)continue;const{subscriptSizeRatio:a,subscriptOffset:o,superscriptSizeRatio:u,superscriptOffset:l}=i;return{sbr:a,sbo:o*e,spr:u,spo:l*e}}return y0(e)}static getTextSizeByDom(t,e){if(e in this._getTextHeightCache)return this._getTextHeightCache[e];let n=document.getElementById("universheetTextSizeTest");const s="float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;";n||(n=document.createElement("span"),n.id="universheetTextSizeTest",document.getElementsByTagName("body")[0].appendChild(n)),n.style.cssText+=`${s};${e}`,n.textContent=t;const i=n.getBoundingClientRect(),a={width:i.width,height:i.height};return this._getTextHeightCache[e]=a,a}static getTextSize(t,e){const{fontString:n,fontSize:s,fontFamily:i}=e;let a=this._getBoundingBoxByFont(i,s);if(!a){const o=this.getMeasureText(t,n);a=this._calculateBoundingBoxByMeasureText(o,e)}return a}static getBBoxFromGlyphInfo(t,e){var c;const n=t.glyph,s=t.font,{y1:i,y2:a}=t.boundingBox,o=Ut(e.fontSize)/s.unitsPerEm,{ascender:u,descender:l}=s;return this._calculateBoundingBoxByMeasureText({width:((c=n.advanceWidth)!=null?c:0)*o,fontBoundingBoxAscent:u*o,fontBoundingBoxDescent:Math.abs(l*o),actualBoundingBoxAscent:a*o,actualBoundingBoxDescent:Math.abs(i*o)},e)}static getMeasureText(t,e){if(!this._context){const f=document.createElement("canvas");this._context=f.getContext("2d")}const n=this._context,s=this.getFontMeasureCache(e,t);if(s!=null)return s;n.font=e;const i=n.measureText(t),{width:a,fontBoundingBoxAscent:o,fontBoundingBoxDescent:u,actualBoundingBoxAscent:l,actualBoundingBoxDescent:c}=i,h={width:a,fontBoundingBoxAscent:o,fontBoundingBoxDescent:u,actualBoundingBoxAscent:l,actualBoundingBoxDescent:c};if(o==null||u==null||Number.isNaN(o)||Number.isNaN(u)){const f=this.getTextSizeByDom(b0,e).height;n.textBaseline==="top"?(h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f,h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=0):n.textBaseline==="middle"?(h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=f/2,h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f/2):(h.fontBoundingBoxDescent=h.actualBoundingBoxDescent=0,h.fontBoundingBoxAscent=h.actualBoundingBoxAscent=f)}return this.setFontMeasureCache(e,t,h),h}static _clearMeasureCache(t,e){let n=0;for(const s of e){const[i]=s;if(n>t)break;e.delete(i),n++}return!0}static _getBoundingBoxByFont(t,e=28,n=""){const s=this._fontDataMap.get(t);if(!s)return;const{notDefWidth:i,ascender:a,descender:o,typoAscender:u,typoDescender:l,strikeoutPosition:c,subscriptSizeRatio:h,subscriptOffset:f,superscriptSizeRatio:_,superscriptOffset:p,hdmxData:m,glyphHorizonMap:v}=s,F=m==null?void 0:m.indexOf(Math.floor(e)),E=v.get(n.charCodeAt(0));let S=i;if(E){const{width:B,pixelsPerEm:x=[]}=E;F?S=x[F]:S=B}return{width:S*e,ba:a*e,bd:o*e,aba:u*e,abd:l*e,sp:c*e,sbr:h,sbo:f*e,spr:_,spo:p*e}}static _calculateBoundingBoxByMeasureText(t,e){const{width:n,fontBoundingBoxAscent:s,fontBoundingBoxDescent:i,actualBoundingBoxAscent:a,actualBoundingBoxDescent:o}=t,{fontSize:u,originFontSize:l}=e,c=l/u,h=s*c,f=i*c;return{width:n,ba:h,bd:f,aba:a,abd:o,sp:(s+i)/2,sbr:.6,spr:.6,sbo:(h+f)*.141,spo:(h+f)*.4}}}d(ee,"_getTextHeightCache",{}),d(ee,"_context"),d(ee,"_fontDataMap",new Map),d(ee,"_globalFontMeasureCache",new Map);const F0=180,C3=Math.PI/F0,E3=F0/Math.PI,C0="rgb(",S3="rgba(",F1=(r,t)=>r?t!=null?`${S3+r.join(",")},${t})`:`${C0+r.join(",")})`:`${C0}0,0,0)`,T3=100,te=(r,t)=>{if(g.Tools.isNumber(r))return r;if(t&&r&&g.Tools.isString(r)&&r.substr(r.length-1,1)==="%"){const e=Number.parseFloat(r)/T3;return t*e}return 0},x3=16,u2=(r,t)=>(t||(t=window),t.requestPostAnimationFrame?t.requestPostAnimationFrame(r):t.requestAnimationFrame?t.requestAnimationFrame(r):t.msRequestAnimationFrame?t.msRequestAnimationFrame(r):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(r):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(r):t.oRequestAnimationFrame?t.oRequestAnimationFrame(r):setTimeout(r,x3)),E0=(r,t)=>(t||(t=window),t.requestPostAnimationFrame?t.cancelPostAnimationFrame(r):t.requestAnimationFrame?t.cancelAnimationFrame(r):t.msRequestAnimationFrame?t.msCancelAnimationFrame(r):t.webkitRequestAnimationFrame?t.webkitCancelAnimationFrame(r):t.mozRequestAnimationFrame?t.mozCancelAnimationFrame(r):t.oRequestAnimationFrame?t.oCancelAnimationFrame(r):clearTimeout(r)),wt=()=>{const r=document.createElement("canvas");try{r.style=r.style||{}}catch(t){console.error(t)}return r},B3=()=>document.createElement("img"),S0=r=>r*E3,Y1=r=>r*C3,At=()=>{let r="pointer";return typeof window<"u"&&!window.PointerEvent&&typeof navigator<"u"&&(r="mouse"),g.Tools.isTablet()&&!g.Tools.isIPhone()&&!(document&&"ontouchend"in document)&&(r="mouse"),r},T0=()=>g.Tools.getBrowserType()==="safari",O3=4,x0=(r="obj",t=O3)=>{const e=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,"").split("");let n="";for(let i=0;i<t;i++)n+=e[Math.round(Math.random()*(e.length-1))];const s=new Date().getTime();return`${r}_${n}_${s}`};function fe(r){return Object.prototype.toString.apply(r)}function Rt(r){return fe(r)==="[object Function]"}function w3(r){return fe(r)==="[object Date]"}function A3(r){return fe(r)==="[object RegExp]"}function R3(r){return fe(r)==="[object Array]"}function $t(r){return fe(r)==="[object String]"}function $3(r){return fe(r)==="[object Number]"}function k3(r){return fe(r)==="[object Object]"}function H2(r,t){return t=10**t,Math.round(r*t)/t}function Z(r,t){return Math.round(r*t)/t}const B0=11,O0="Arial";function l2(r,t){const e=O0,n=B0;if(!r){const f=`${n}pt ${e}`;return{fontCache:f,fontString:f,fontSize:n,originFontSize:n,fontFamily:e}}let s=g.FontStyleType.ITALIC;(r.it===0||r.it===void 0)&&(s=g.FontStyleType.NORMAL);let i=g.FontStyleType.BOLD;(r.bl===0||r.bl===void 0)&&(i=g.FontStyleType.NORMAL);let a=n;r.fs&&(a=Math.ceil(r.fs));let o=a,u=e;if(r.ff){let f=r.ff;f=f.replace(/"/g,"").replace(/'/g,""),f.indexOf(" ")>-1&&(f=`"${f}"`),f==null&&(f=e),u=f}const{va:l}=r;if(l===g.BaselineOffset.SUBSCRIPT||l===g.BaselineOffset.SUPERSCRIPT){const f=ee.getBaselineOffsetInfo(u,o),{sbr:_,spr:p}=f;o*=l===g.BaselineOffset.SUBSCRIPT?_:p}const c=`${s} ${i} ${o}pt ${u}`,h=`${c}, ${i2} `;return{fontCache:c,fontString:h,fontSize:o,originFontSize:a,fontFamily:u}}const I3=y3().toRegExp();function c2(r){return I3.test(r)}const L3=b3().toRegExp();function h2(r){return L3.test(r)}const M3=F3().toRegExp();function kt(r){return M3.test(r)}function P3(r){return!!/[\u0000-\u024F]/gi.exec(r)}function N3(r){return!!/[\u0000-\u007F]/gi.exec(r)}function U3(r){return!!/[\u0080-\u00FF]/gi.exec(r)}function H3(r){return!!/[\u0100-\u017F]/gi.exec(r)}function G3(r){return!!/[\u0180-\u024F]/gi.exec(r)}const G2=/^(?:[#*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,z3=/^(?:[#*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 z2(r){return z3.test(r)}function It(r){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(r)}function Lt(r){return/[\u0180-\u024F]/gi.test(r)}function w0(r){return/\s+/g.test(r)}function X2(r){return["”","’",",","。",".","、",":",";","?","!","》",")","』","」","】","〗","〕","〉","]","}"].indexOf(r)>-1}function W2(r){return["“","‘","《","(","『","「","【","〖","〔","〈","[","{"].indexOf(r)>-1}function Mt(r){return["・","·"].indexOf(r)>-1}const A0=1e3;let Y2;function f2(){if(Y2)return Y2;let r=56;for(;r<A0*2;r++)if(matchMedia(`(max-resolution: ${r}dpi)`).matches===!0)return r;return Y2=r,setTimeout(()=>{Y2=null},A0),r}const R0=72,X3=25.4;function W3(r){return r/(R0/f2())}function Y3(r){return r*(R0/f2())}function V3(r){return r*(f2()/X3)}function j3(r){return r*f2()}function Pt(r){const{scaleX:t=1,scaleY:e=1}=r;return Math.max(t,e)}function Ce(r,t,e,n){const s=r-1,i=t-1,a=e[s]||0;let o=e[r];o==null&&(o=e[e.length-1]);const u=n[i]||0;let l=n[t];return l==null&&(l=n[n.length-1]),{startY:a,endY:o,startX:u,endX:l}}function Pe(r,t,e,n,s){let{startY:i,endY:a,startX:o,endX:u}=Ce(r,t,e,n);const{isMerged:l,isMergedMainCell:c,startRow:h,startColumn:f,endRow:_,endColumn:p}=d2(r,t,s);let m={startRow:h,startColumn:f,endRow:_,endColumn:p,startY:0,endY:0,startX:0,endX:0};const v=e.length-1,F=n.length-1;if(l&&h!==-1&&f!==-1){const E=e[h-1]||0,S=e[_]||e[v],B=n[f-1]||0,x=n[p]||n[F];m={...m,startY:E,endY:S,startX:B,endX:x}}else if(!l&&_!==-1&&p!==-1){const E=e[_]||e[v],S=n[p]||n[F];m={...m,startY:i,endY:E,startX:o,endX:S}}return{isMerged:l,isMergedMainCell:c,actualRow:r,actualColumn:t,startY:i,endY:a,startX:o,endX:u,mergeInfo:m}}function d2(r,t,e){let n=!1,s=!1,i=r,a=t,o=r,u=t;if(e==null)return{actualRow:r,actualColumn:t,isMergedMainCell:s,isMerged:n,endRow:i,endColumn:a,startRow:o,startColumn:u};for(let l=0;l<e.length;l++){const{startRow:c,endRow:h,startColumn:f,endColumn:_}=e[l];if(r===c&&t===f){i=h,a=_,o=c,u=f,s=!0;break}if(r>=c&&r<=h&&t>=f&&t<=_){i=h,a=_,o=c,u=f,n=!0;break}}return{actualRow:r,actualColumn:t,isMergedMainCell:s,isMerged:n,endRow:i,endColumn:a,startRow:o,startColumn:u}}function $0(r,t,e,n){let s=!1;for(let i=t;i<=e;i++){const{isMerged:a,isMergedMainCell:o}=d2(r,i,n);if(!a&&!o){s=!0;break}}return s}function Nt(r,t,e){const{startY:n,endY:s,startX:i,endX:a}=r;return r.startY=n+e,r.endY=s+e,r.startX=i+t,r.endX=a+t,{...r}}function k0(r,t){return!(r.left>t.right||r.top>t.bottom||t.left>r.right||t.top>r.bottom)}function K3(r){const t=document.createElement("style");document.head.appendChild(t);const e=t.sheet;for(const n of r)e==null||e.insertRule(n,e.cssRules.length)}function q3(r){for(let t=0,e=document.head.childNodes.length;t<e;t++){const n=document.head.childNodes[t];if(n.nodeName==="STYLE"&&n.textContent&&n.textContent.indexOf(r)>-1)return!0}return!1}function Ee(r){return Number(r.replace(/px/gi,""))}function I0(r){const t=getComputedStyle(r),{borderTopWidth:e,borderLeftWidth:n,borderRightWidth:s,borderBottomWidth:i,width:a,height:o}=t;return{top:Ee(e),left:Ee(n),right:Ee(s),bottom:Ee(i),width:Ee(a),height:Ee(o)}}const L0=.75;function Ut(r){return r/L0}function Z3(r){return r*L0}class P{constructor(t=0,e=0){this.x=t,this.y=e}static Zero(){return new P(0,0)}static One(){return new P(1,1)}static FromArray(t,e=0){return new P(t[e],t[e+1])}static FromArrayToRef(t,e,n){n.x=t[e],n.y=t[e+1]}static CatmullRom(t,e,n,s,i){const a=i*i,o=i*a,u=.5*(2*e.x+(-t.x+n.x)*i+(2*t.x-5*e.x+4*n.x-s.x)*a+(-t.x+3*e.x-3*n.x+s.x)*o),l=.5*(2*e.y+(-t.y+n.y)*i+(2*t.y-5*e.y+4*n.y-s.y)*a+(-t.y+3*e.y-3*n.y+s.y)*o);return new P(u,l)}static Clamp(t,e,n){let s=t.x;s=s>n.x?n.x:s,s=s<e.x?e.x:s;let i=t.y;return i=i>n.y?n.y:i,i=i<e.y?e.y:i,new P(s,i)}static Hermite(t,e,n,s,i){const a=i*i,o=i*a,u=2*o-3*a+1,l=-2*o+3*a,c=o-2*a+i,h=o-a,f=t.x*u+n.x*l+e.x*c+s.x*h,_=t.y*u+n.y*l+e.y*c+s.y*h;return new P(f,_)}static Hermite1stDerivative(t,e,n,s,i){const a=P.Zero();return this.Hermite1stDerivativeToRef(t,e,n,s,i,a),a}static Hermite1stDerivativeToRef(t,e,n,s,i,a){const o=i*i;a.x=(o-i)*6*t.x+(3*o-4*i+1)*e.x+(-o+i)*6*n.x+(3*o-2*i)*s.x,a.y=(o-i)*6*t.y+(3*o-4*i+1)*e.y+(-o+i)*6*n.y+(3*o-2*i)*s.y}static Lerp(t,e,n){const s=t.x+(e.x-t.x)*n,i=t.y+(e.y-t.y)*n;return new P(s,i)}static Dot(t,e){return t.x*e.x+t.y*e.y}static Normalize(t){const e=P.Zero();return this.NormalizeToRef(t,e),e}static NormalizeToRef(t,e){const n=t.length();n!==0&&(e.x=t.x/n,e.y=t.y/n)}static Minimize(t,e){const n=t.x<e.x?t.x:e.x,s=t.y<e.y?t.y:e.y;return new P(n,s)}static Maximize(t,e){const n=t.x>e.x?t.x:e.x,s=t.y>e.y?t.y:e.y;return new P(n,s)}static PointInTriangle(t,e,n,s){const i=.5*(-n.y*s.x+e.y*(-n.x+s.x)+e.x*(n.y-s.y)+n.x*s.y),a=i<0?-1:1,o=(e.y*s.x-e.x*s.y+(s.y-e.y)*t.x+(e.x-s.x)*t.y)*a,u=(e.x*n.y-e.y*n.x+(e.y-n.y)*t.x+(n.x-e.x)*t.y)*a;return o>0&&u>0&&o+u<2*i*a}static Distance(t,e){return Math.sqrt(P.DistanceSquared(t,e))}static DistanceSquared(t,e){const n=t.x-e.x,s=t.y-e.y;return n*n+s*s}static Center(t,e){return P.CenterToRef(t,e,P.Zero())}static CenterToRef(t,e,n){return n.copyFromFloats((t.x+e.x)/2,(t.y+e.y)/2)}static DistanceOfPointFromSegment(t,e,n){const s=P.DistanceSquared(e,n);if(s===0)return P.Distance(t,e);const i=n.subtract(e),a=Math.max(0,Math.min(1,P.Dot(t.subtract(e),i)/s)),o=e.add(i.multiplyByFloats(a,a));return P.Distance(t,o)}static create(t,e){return new P(t,e)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let t=this.x|0;return t=t*397^(this.y|0),t}toArray(t,e=0){return t[e]=this.x,t[e+1]=this.y,this}fromArray(t,e=0){return P.FromArrayToRef(t,e,this),this}asArray(){const t=new Array;return this.toArray(t,0),t}copyFrom(t){return this.x=t.x,this.y=t.y,this}copyFromFloats(t,e){return this.x=t,this.y=e,this}set(t,e){return this.copyFromFloats(t,e)}add(t){return new P(this.x+t.x,this.y+t.y)}addToRef(t,e){return e.x=this.x+t.x,e.y=this.y+t.y,this}addByPoint(t,e){return new P(this.x+t,this.y+e)}addInPlace(t){return this.x+=t.x,this.y+=t.y,this}subtract(t){return new P(this.x-t.x,this.y-t.y)}subtractByPoint(t,e){return new P(this.x-t,this.y-e)}subtractToRef(t,e){return e.x=this.x-t.x,e.y=this.y-t.y,this}subtractInPlace(t){return this.x-=t.x,this.y-=t.y,this}multiplyInPlace(t){return this.x*=t.x,this.y*=t.y,this}multiply(t){return new P(this.x*t.x,this.y*t.y)}multiplyToRef(t,e){return e.x=this.x*t.x,e.y=this.y*t.y,this}multiplyByFloats(t,e){return new P(this.x*t,this.y*e)}divide(t){return new P(this.x/t.x,this.y/t.y)}divideToRef(t,e){return e.x=this.x/t.x,e.y=this.y/t.y,this}divideInPlace(t){return this.divideToRef(t,this)}negate(){return new P(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(t){return t.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(t){return this.x*=t,this.y*=t,this}scale(t){const e=new P(0,0);return this.scaleToRef(t,e),e}scaleToRef(t,e){return e.x=this.x*t,e.y=this.y*t,this}scaleAndAddToRef(t,e){return e.x+=this.x*t,e.y+=this.y*t,this}equals(t){return t&&this.x===t.x&&this.y===t.y}floor(){return new P(Math.floor(this.x),Math.floor(this.y))}fract(){return new P(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(t){const e=Math.cos(t),n=Math.sin(t),s=e*this.x-n*this.y,i=n*this.x+e*this.y;return this.x=s,this.y=i,this}rotateToRef(t,e){const n=Math.cos(t),s=Math.sin(t);return e.x=n*this.x-s*this.y,e.y=s*this.x+n*this.y,this}rotateByPoint(t,e=P.create(0,0)){const n=Math.cos(t),s=Math.sin(t),i=e.x+(this.x-e.x)*n-(this.y-e.y)*s,a=e.y+(this.x-e.x)*s+(this.y-e.y)*n;return this.x=i,this.y=a,this}transformCoordinateOnRotate(t){const e=Math.sqrt(this.x**2+this.y**2),n=Math.atan2(this.y,this.x),s=-t+n;return this.x=e*Math.cos(s),this.y=e*Math.sin(s),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 P.NormalizeToRef(this,this),this}clone(){return new P(this.x,this.y)}}const V2=[1,0,0,1,0,0];class m1{constructor(t=V2){d(this,"dirty",!1);d(this,"_m");this._m=t&&t.slice()||V2}static create(t=V2){return new this(t)}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 m1(this._m)}copyInto(t){t._m[0]=this._m[0],t._m[1]=this._m[1],t._m[2]=this._m[2],t._m[3]=this._m[3],t._m[4]=this._m[4],t._m[5]=this._m[5]}applyPoint(t,e=!1){const n=this._m,s=n[0]*t.x+n[2]*t.y,i=n[1]*t.x+n[3]*t.y;return e?new P(s,i):new P(s+n[4],i+n[5])}translate(t,e){return this._m[4]+=this._m[0]*t+this._m[2]*e,this._m[5]+=this._m[1]*t+this._m[3]*e,this}scale(t,e){return this._m[0]*=t,this._m[1]*=t,this._m[2]*=e,this._m[3]*=e,this}rotate(t){const e=Y1(t),n=Math.cos(e),s=Math.sin(e),i=this._m[0]*n+this._m[2]*s,a=this._m[1]*n+this._m[3]*s,o=this._m[0]*-s+this._m[2]*n,u=this._m[1]*-s+this._m[3]*n;return this._m[0]=i,this._m[1]=a,this._m[2]=o,this._m[3]=u,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(t,e){const n=this._m[0]+this._m[2]*e,s=this._m[1]+this._m[3]*e,i=this._m[2]+this._m[0]*t,a=this._m[3]+this._m[1]*t;return this._m[0]=n,this._m[1]=s,this._m[2]=i,this._m[3]=a,this}multiply(t){const e=this._m[0]*t._m[0]+this._m[2]*t._m[1],n=this._m[1]*t._m[0]+this._m[3]*t._m[1],s=this._m[0]*t._m[2]+this._m[2]*t._m[3],i=this._m[1]*t._m[2]+this._m[3]*t._m[3],a=this._m[0]*t._m[4]+this._m[2]*t._m[5]+this._m[4],o=this._m[1]*t._m[4]+this._m[3]*t._m[5]+this._m[5];return this._m[0]=e,this._m[1]=n,this._m[2]=s,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}invert(){const t=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),e=this._m[3]*t,n=-this._m[1]*t,s=-this._m[2]*t,i=this._m[0]*t,a=t*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),o=t*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=e,this._m[1]=n,this._m[2]=s,this._m[3]=i,this._m[4]=a,this._m[5]=o,this}getMatrix(){return this._m}getMatrixByAccurate(t=3){return this._m.map(e=>H2(e,t))}setAbsolutePosition(t){const e=this._m[0],n=this._m[1],s=this._m[2],i=this._m[3],a=this._m[4],o=this._m[5],u=(e*(t.y-o)-n*(t.x-a))/(e*i-n*s),l=(t.x-a-s*u)/e;return this.translate(l,u)}decompose(){const t=this._m[0],e=this._m[1],n=this._m[2],s=this._m[3],i=this._m[4],a=this._m[5],o=t*s-e*n,u={x:i,y:a,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(t!==0||e!==0){const l=Math.sqrt(t*t+e*e);u.angle=e>0?Math.acos(t/l):-Math.acos(t/l),u.scaleX=l,u.scaleY=o/l,u.skewX=(t*n+e*s)/o,u.skewY=0}else if(n!==0||s!==0){const l=Math.sqrt(n*n+s*s);u.angle=Math.PI/2-(s>0?Math.acos(-n/l):-Math.acos(n/l)),u.scaleX=o/l,u.scaleY=l,u.skewX=0,u.skewY=(t*n+e*s)/o}return u.angle=S0(u.angle),u}makeBoundingBoxFromPoints(t){if(this)for(let c=0;c<t.length;c++)t[c]=this.applyPoint(t[c]);const e=[t[0].x,t[1].x,t[2].x,t[3].x],n=Math.min(...e),i=Math.max(...e)-n,a=[t[0].y,t[1].y,t[2].y,t[3].y],o=Math.min(...a),l=Math.max(...a)-o;return{left:n,top:o,width:i,height:l,points:t}}composeMatrix(t){const e=new m1([1,0,0,1,t.left||0,t.top||0]);return t.angle&&e.rotate(t.angle),(t.scaleX!==1||t.scaleY!==1||t.skewX||t.skewY||t.flipX||t.flipY)&&e.multiply(this._calcDimensionsMatrix(t)),this._m=e.getMatrix(),this}clone(){return new m1([...this._m])}_calcDimensionsMatrix(t){var i,a;const e=(i=t.scaleX)!=null?i:1,n=(a=t.scaleY)!=null?a:1,s=new m1([t.flipX?-e:e,0,0,t.flipY?-n:n,0,0]);return t.skewX&&s.multiply(new m1([1,0,Math.tan(Y1(t.skewX)),1,0,0])),t.skewY&&s.multiply(new m1([1,Math.tan(Y1(t.skewY)),0,1,0,0])),s}}const j2=["top","left","width","height","angle","scaleX","scaleY","skewX","skewY","flipX","flipY","strokeWidth"];class ne{constructor(t){d(this,"groupKey");d(this,"isInGroup",!1);d(this,"onTransformChangeObservable",new g.Observable);d(this,"onPointerDownObserver",new g.Observable);d(this,"onPointerMoveObserver",new g.Observable);d(this,"onPointerUpObserver",new g.Observable);d(this,"onDblclickObserver",new g.Observable);d(this,"onTripleClickObserver",new g.Observable);d(this,"onMouseWheelObserver",new g.Observable);d(this,"onPointerOutObserver",new g.Observable);d(this,"onPointerLeaveObserver",new g.Observable);d(this,"onPointerOverObserver",new g.Observable);d(this,"onPointerEnterObserver",new g.Observable);d(this,"onIsAddedToParentObserver",new g.Observable);d(this,"onDisposeObserver",new g.Observable);d(this,"_oKey");d(this,"_dirty",!0);d(this,"_top",0);d(this,"_topOrigin",0);d(this,"_left",0);d(this,"_leftOrigin",0);d(this,"_width",0);d(this,"_widthOrigin",0);d(this,"_height",0);d(this,"_heightOrigin",0);d(this,"_angle",0);d(this,"_scaleX",1);d(this,"_scaleY",1);d(this,"_skewX",0);d(this,"_skewY",0);d(this,"_flipX",!1);d(this,"_flipY",!1);d(this,"_strokeWidth",0);d(this,"_parent");d(this,"_zIndex",0);d(this,"_evented",!0);d(this,"_visible",!0);d(this,"_debounceParentDirty",!0);d(this,"_transform",new m1);d(this,"_cursor",d1.DEFAULT);d(this,"_isTransformer",!1);d(this,"_forceRender",!1);d(this,"_layer");t?this._oKey=t:this._oKey=x0()}get transform(){return this._transform}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return K.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 e;const t=((e=this.getParent())==null?void 0:e.ancestorScaleX)||1;return this.scaleX*t}get ancestorScaleY(){var e;const t=((e=this.getParent())==null?void 0:e.ancestorScaleY)||1;return this.scaleY*t}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 isTransformer(){return this._isTransformer}get cursor(){return this._cursor}get layer(){return this._layer}set transform(t){this._transform=t}set zIndex(t){this._zIndex=t}set parent(t){this._parent=t}set evented(t){this._evented=t}set debounceParentDirty(t){this._debounceParentDirty=t}set isTransformer(t){this._isTransformer=t}set cursor(t){this.setCursor(t)}set layer(t){this._layer=t}set top(t){var e;this._topOrigin=t,this._top=te(t,(e=this._parent)==null?void 0:e.height)}set left(t){var e;this._leftOrigin=t,this._left=te(t,(e=this._parent)==null?void 0:e.width)}set width(t){var e;this._widthOrigin=t,this._width=te(t,(e=this._parent)==null?void 0:e.width)}set height(t){var e;this._heightOrigin=t,this._height=te(t,(e=this._parent)==null?void 0:e.height)}set strokeWidth(t){this._strokeWidth=t}set angle(t){this._angle=t}set scaleX(t){this._scaleX=t}set scaleY(t){this._scaleY=t}set skewX(t){this._skewX=t}set flipY(t){this._flipY=t}set flipX(t){this._flipX=t}set skewY(t){this._skewY=t}makeDirty(t=!0){if(this._dirty=t,t){if(this._layer==null){this._dirty=!1;return}typeof this._layer.debounceParentTimeout=="function"&&this._layer.debounceParentTimeout(),this._layer.debounceParentTimeout=g.requestImmediateMacroTask(()=>{var e;(e=this._layer)==null||e.makeDirty(t)})}return this}makeDirtyNoDebounce(t=!0){var e;return this._dirty=t,t&&((e=this._layer)==null||e.makeDirty(t)),this}isDirty(){return this._dirty}translate(t,e){const n=this.top;e!==void 0&&(this.top=e);const s=this.left;return t!==void 0&&(this.left=t),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.translate,value:{top:this._top,left:this._left},preValue:{top:n,left:s}}),this}resize(t,e){const n=this.width;t!==void 0&&(this.width=t);const s=this.height;return e!==void 0&&(this.height=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.resize,value:{width:this._width,height:this._height},preValue:{width:n,height:s}}),this}scale(t,e){const n=this.scaleX;t!==void 0&&(this.scaleX=t);const s=this.scaleY;return e!==void 0&&(this.scaleY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:n,scaleY:s}}),this}skew(t,e){const n=t;t!==void 0&&(this.skewX=t);const s=e;return e!==void 0&&(this.skewY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:n,skewY:s}}),this}flip(t,e){const n=t;t!==void 0&&(this.flipX=t);const s=e;return e!==void 0&&(this.flipY=e),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:n,flipY:s}}),this}transformByState(t){const e=Object.keys(t),n={};if(e.length!==0)return e.forEach(s=>{t[s]!==void 0&&(n[s]=this[s],this[s]=t[s])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.all,value:t,preValue:n}),this}isRender(t){return this._forceRender?!1:t&&!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(t,e){}isHit(t){const e=this._getInverseCoord(t);return e.x>=-this.strokeWidth/2&&e.x<=this.width+this.strokeWidth/2&&e.y>=-this.strokeWidth/2&&e.y<=this.height+this.strokeWidth/2}on(t,e){return this[`on${t}Observer`].add(e.bind(this))}off(t,e){this[`on${t}Observer`].remove(e)}clear(t){this[`on${t}Observer`].clear()}triggerPointerMove(t){var e,n;return(e=this.onPointerMoveObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerMove(t),!1)}triggerPointerDown(t){var e,n;return(e=this.onPointerDownObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerDown(t),!1)}triggerPointerUp(t){var e,n;return(e=this.onPointerUpObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerUp(t),!1)}triggerDblclick(t){var e,n;return(e=this.onDblclickObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerDblclick(t),!1)}triggerTripleClick(t){var e,n;return(e=this.onTripleClickObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerTripleClick(t),!1)}triggerMouseWheel(t){var e,n;return(e=this.onMouseWheelObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerMouseWheel(t),!1)}triggerPointerOut(t){var e,n;return(e=this.onPointerOutObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerOut(t),!1)}triggerPointerLeave(t){var e,n;return(e=this.onPointerLeaveObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerLeave(t),!1)}triggerPointerOver(t){var e;return this.onPointerOverObserver.notifyObservers(t)?!0:((e=this._parent)==null||e.triggerPointerOver(t),!1)}triggerPointerEnter(t){var e,n;return(e=this.onPointerEnterObserver.notifyObservers(t))!=null&&e.stopPropagation?!0:((n=this._parent)==null||n.triggerPointerEnter(t),!1)}dispose(){var t;this.onTransformChangeObservable.clear(),this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onMouseWheelObserver.clear(),this.onPointerOutObserver.clear(),this.onPointerLeaveObserver.clear(),this.onPointerOverObserver.clear(),this.onPointerEnterObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onIsAddedToParentObserver.clear(),(t=this.parent)==null||t.removeObject(this),this.onDisposeObserver.notifyObservers(this),this._makeDirtyMix(),this.onDisposeObserver.clear()}toJson(){const t={};return j2.forEach(e=>{this[e]&&(t[e]=this[e])}),t}getScene(){let t=this.parent;if(t!=null){if(t.classType===K.SCENE)return t;for(;t;){if(t.classType===K.SCENE)return t;t=t.getParent()}}}resetCursor(){var t;(t=this.getScene())==null||t.resetCursor()}setCursor(t){var e;this._cursor=t,(e=this.getScene())==null||e.setCursor(t)}getEngine(){let t=this.getParent();for(;t!=null;){if(t.classType===K.ENGINE)return t;t=t.getParent()}return null}getObjects(){return[]}_getInverseCoord(t){return this._transform.clone().invert().applyPoint(t)}_setTransForm(){const t=m1.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=t,this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}}var M0=(r=>(r[r.GLYPH=0]="GLYPH",r[r.DIVIDE=1]="DIVIDE",r[r.LINE=2]="LINE",r[r.COLUMN=3]="COLUMN",r[r.SECTION=4]="SECTION",r[r.PAGE=5]="PAGE",r[r.DRAWING=6]="DRAWING",r[r.BULLET=7]="BULLET",r[r.HEADER=8]="HEADER",r[r.FOOTER=9]="FOOTER",r[r.ALL=10]="ALL",r))(M0||{}),Ne=(r=>(r[r.SECTION=0]="SECTION",r[r.PAGE=1]="PAGE",r[r.COLUMN=2]="COLUMN",r))(Ne||{}),_2=(r=>(r[r.PARAGRAPH=0]="PARAGRAPH",r[r.BLOCK=1]="BLOCK",r))(_2||{}),A1=(r=>(r[r.LETTER=0]="LETTER",r[r.WORD=1]="WORD",r[r.LIST=2]="LIST",r[r.PLACEHOLDER=3]="PLACEHOLDER",r[r.TAB=4]="TAB",r[r.IMAGE=5]="IMAGE",r[r.AT=6]="AT",r[r.MATH=7]="MATH",r[r.MULTI_LINE=8]="MULTI_LINE",r[r.CUSTOM=9]="CUSTOM",r))(A1||{}),V1=(r=>(r[r.VERTICAL=0]="VERTICAL",r[r.HORIZONTAL=1]="HORIZONTAL",r[r.AUTO=2]="AUTO",r))(V1||{});function J3(r){var n;const t=r==null?void 0:r.parent;return t==null?!1:((n=t.glyphGroup[0])==null?void 0:n.glyphType)===A1.LIST}function Q3(r,t){const e=P0(r,t);if(e==null)return!1;const{paragraphStyle:n}=e;return n==null?!1:g.checkParagraphHasIndentByStyle(n)}function er(r){const t=r==null?void 0:r.parent,e=t==null?void 0:t.parent,n=t==null?void 0:t.glyphGroup,s=e==null?void 0:e.divides;if(n&&r&&s&&t){const i=n.indexOf(r);if(s.indexOf(t)===s.length-1&&i===n.length-1)return!0}return!1}function tr(r){const t=r==null?void 0:r.parent,e=t==null?void 0:t.parent,n=t==null?void 0:t.glyphGroup,s=e==null?void 0:e.divides;if(n&&r&&s&&t){const i=n.indexOf(r),a=s.indexOf(t);if(a===0&&i===0||a===0&&i===1&&n[0].glyphType===A1.LIST)return!0}return!1}function P0(r,t){var s;const e=(s=r==null?void 0:r.parent)==null?void 0:s.parent;if(e==null||t==null)return;const n=t.paragraphs;if(n!=null){for(const i of n)if(i.startIndex===e.paragraphIndex)return i}}function nr(r){return r==null?!1:[g.DataStreamTreeTokenType.PARAGRAPH,g.DataStreamTreeTokenType.TAB,g.DataStreamTreeTokenType.SECTION_BREAK].indexOf(r.streamType)!==-1||r.content===g.DataStreamTreeTokenType.SPACE}function rr(r,t){return r==null||t==null||r.parent==null||t.parent==null?!1:r.parent.parent===t.parent.parent}function Ht(){let r=1;const e=wt().getContext("2d");return r=(()=>{const n=window.devicePixelRatio||1,s=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return n/s})(),r<1?1:r}function Gt(r,t,e,n){let s=0,i=0,a=0,o=0;const{startX:u,startY:l,endX:c,endY:h}=n;t===q.TOP?(s=u-e,i=l,a=c+e,o=l):t===q.BOTTOM?(s=u-e,i=h,a=c-e,o=h):t===q.LEFT?(s=u,i=l-e,a=u,o=h+e):t===q.RIGHT&&(s=c,i=l-e,a=c,o=h+e),r.beginPath(),r.moveToByPrecision(s,i),r.lineToByPrecision(a,o),r.closePathByEnv(),r.stroke()}function N0(r,t,e){let n=0,s=0,i=0,a=0;const{startX:o,startY:u,endX:l,endY:c}=e;t===q.TL_BR?(n=o,s=u,i=l,a=c):t===q.TL_BC?(n=o,s=u,i=(o+l)/2,a=c):t===q.TL_MR?(n=o,s=u,i=l,a=(u+c)/2):t===q.BL_TR?(n=o,s=c,i=l,a=u):t===q.ML_TR?(n=o,s=(u+c)/2,i=l,a=u):t===q.BC_TR&&(n=(o+l)/2,s=c,i=l,a=u),r.beginPath(),r.moveToByPrecision(n,s),r.lineToByPrecision(i,a),r.closePathByEnv(),r.stroke()}function sr(r,t,e){let n=0,s=0,i=0,a=0;const{startX:o,startY:u,endX:l,endY:c}=e;t===q.TOP?(n=o,s=u,i=l,a=u):t===q.BOTTOM?(n=o,s=c,i=l,a=c):t===q.LEFT?(n=o,s=u,i=o,a=c):t===q.RIGHT&&(n=l,s=u,i=l,a=c),r.beginPath(),r.clearRectForTexture(n,s,i-n,a-s)}function zt(r,t){t===g.BorderStyleTypes.HAIR?r.setLineDash([1,2]):t===g.BorderStyleTypes.DASH_DOT_DOT||t===g.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?r.setLineDash([2,2,5,2,2]):t===g.BorderStyleTypes.DASH_DOT||t===g.BorderStyleTypes.MEDIUM_DASH_DOT||t===g.BorderStyleTypes.SLANT_DASH_DOT?r.setLineDash([2,5,2]):t===g.BorderStyleTypes.DOTTED?r.setLineDash([2]):t===g.BorderStyleTypes.DASHED||t===g.BorderStyleTypes.MEDIUM_DASHED?r.setLineDash([3]):r.setLineDash([0])}function U0(){const r=H0(1);return r-Math.floor(r)}function H0(r){return Math.ceil(r/Ht()*100)/100}function Xt(r){let t=1;return r===g.BorderStyleTypes.MEDIUM||r===g.BorderStyleTypes.MEDIUM_DASH_DOT||r===g.BorderStyleTypes.MEDIUM_DASHED||r===g.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?t=2:r===g.BorderStyleTypes.THICK&&(t=3),t}function Ue(r,t,e,n,s=P.create(0,0)){const i=r.add(t).rotateByPoint(n),a=i.subtract(t),o=n-e;return a.rotateByPoint(o,i).add(s).transformCoordinateOnRotate(o)}function G0(r){return r>0?a2.DOWN:a2.UP}function Wt(r,t,e){var p;const n=[];let s=0,i=0,a=0,o=0,u=0;const l=G0(e),c=r.length;e=Math.abs(e);const h=Math.tan(e),f=Math.sin(e),_=Math.cos(e);if(l===a2.UP){let m=0;for(let v=0;v<c;v++){const F=r[v],{lineHeight:E=0}=F;m+=v===0?0:E;const S=t*f+E*_;n.push(m/h),S>i&&(i=S),v===0&&(a+=E*f,u+=E*_)}a+=m/f+t*_,u-=i}else{let m=0,v=-1;const F=[];for(let B=c-1;B>=0;B--){const x=r[B],{lineHeight:w=0}=x,O=w/h,T=(t+O)*f;F.unshift(w/h),T>i&&(i=T,m=O,v=B),B===0?a+=w*f:B===c-1?a+=t*_+w/f:a+=w/f}let E=((p=r[v])==null?void 0:p.lineHeight)||0,S=0;for(let B=v+1;B<=c-1;B++){const x=r[B],{lineHeight:w=0}=x;E+=w,S+=F[B]||0,n[B]=-S}S=0;for(let B=v-1;B>=0;B--){const x=r[B],{lineHeight:w=0}=x;S+=F[B+1]||0,n[B]=S,s+=w}n[v]=0,c===1&&(a+=t*_),o=E/f-m*_}return{rotateTranslateXList:n,rotatedHeight:i,rotatedWidth:a,fixOffsetX:o,fixOffsetY:u,rotateTranslateY:s}}function ir(){const r=.5-U0();return{left:r,top:r}}var z0=(r=>(r[r.PointerMove=0]="PointerMove",r[r.PointerDown=1]="PointerDown",r[r.PointerUp=2]="PointerUp",r[r.Dblclick=3]="Dblclick",r[r.Keyboard=4]="Keyboard",r))(z0||{});class K2{}d(K2,"DOM_DELTA_PIXEL",0),d(K2,"DOM_DELTA_LINE",1),d(K2,"DOM_DELTA_PAGE",2);var R1=(r=>(r[r.Generic=0]="Generic",r[r.Keyboard=1]="Keyboard",r[r.Mouse=2]="Mouse",r[r.Touch=3]="Touch",r))(R1||{}),W=(r=>(r[r.Horizontal=0]="Horizontal",r[r.Vertical=1]="Vertical",r[r.LeftClick=2]="LeftClick",r[r.MiddleClick=3]="MiddleClick",r[r.RightClick=4]="RightClick",r[r.BrowserBack=5]="BrowserBack",r[r.BrowserForward=6]="BrowserForward",r[r.MouseWheelX=7]="MouseWheelX",r[r.MouseWheelY=8]="MouseWheelY",r[r.MouseWheelZ=9]="MouseWheelZ",r[r.DeltaHorizontal=10]="DeltaHorizontal",r[r.DeltaVertical=11]="DeltaVertical",r[r.FakeMove=12]="FakeMove",r))(W||{});const X0=[new P(0,0),new P(1,1)];class W0{constructor(t=X0){this._lines=t}intersection(t){if(this._lines.length<1||t.length<1)return;const e=[];for(let n=1;n<this._lines.length;n++){const s=this._lines[n-1],i=this._lines[n];for(let a=1;a<t.length;a++){const o=this._lines[n-1],u=this._lines[n],l=this._intersection({from:s,to:i},{from:o,to:u});l&&e.push(l)}}return e}_intersection(t,e){const n=t.from,s=t.to,i=e.from,a=e.to,o=(n.x-i.x)*(s.y-i.y)-(n.y-i.y)*(s.x-i.x),u=(n.x-a.x)*(s.y-a.y)-(n.y-a.y)*(s.x-a.x);if(o*u>=0)return!1;const l=(i.x-n.x)*(a.y-n.y)-(i.y-n.y)*(a.x-n.x),c=l+o-u;if(l*c>=0)return!1;const h=l/(u-o),f=h*(s.x-n.x),_=h*(s.y-n.y);return new P(n.x+f,n.y+_)}}class Y0{constructor(t=30){d(this,"_enabled",!0);d(this,"_rollingFrameTime");d(this,"_lastFrameTimeMs");this._rollingFrameTime=new V0(t)}get averageFrameTime(){return this._rollingFrameTime.average}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return 1e3/this._rollingFrameTime.average}get instantaneousFPS(){const t=this._rollingFrameTime.history(0);return t===0?0:1e3/t}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(t=this.Now()){if(this._enabled){if(this._lastFrameTimeMs!=null){const e=t-this._lastFrameTimeMs;this._rollingFrameTime.add(e)}this._lastFrameTimeMs=t}}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()}}class V0{constructor(t){d(this,"average",0);d(this,"variance",0);d(this,"_samples",[]);d(this,"_sampleCount",0);d(this,"_pos",0);d(this,"_m2",0);this._samples=new Array(t),this.reset()}add(t){let e;if(this.isSaturated()){const n=this._samples[this._pos];e=n-this.average,this.average-=e/(this._sampleCount-1),this._m2-=e*(n-this.average)}else this._sampleCount++;e=t-this.average,this.average+=e/this._sampleCount,this._m2+=e*(t-this.average),this.variance=this._m2/(this._sampleCount-1),this._samples[this._pos]=t,this._pos++,this._pos%=this._samples.length}history(t){if(t>=this._sampleCount||t>=this._samples.length)return 0;const e=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(e-t)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.average=0,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(t){const e=this._samples.length;return(t%e+e)%e}}const g2={strokeWidth:1,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:"rgba(0, 0, 0, 0.2)"};var D2=(r=>(r.NONE="none",r.BACKWARD="backward",r.FORWARD="forward",r))(D2||{});function He(r){const t=r.getScene(),e=r.getViewportByCoord(t),n=0,s=0;if(!e)return{scrollX:n,scrollY:s};const i=e.getActualScroll(e.scrollX,e.scrollY);return{scrollX:i.x,scrollY:i.y}}const S1=90;function p2(r){const{a:t=0,v:e=g.BooleanNumber.FALSE}=r||{a:0,v:g.BooleanNumber.FALSE};let n=0,s=t;return e===g.BooleanNumber.TRUE&&(n=S1,s=S1),{centerAngle:n,vertexAngle:s}}class Yt{constructor(t){d(this,"canvas");d(this,"_context");this._context=t,this.canvas=t.canvas}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(t){this._context.globalAlpha=t}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(t){this._context.globalCompositeOperation=t}get fillStyle(){return this._context.fillStyle}set fillStyle(t){this._context.fillStyle=t}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(t){this._context.strokeStyle=t}get filter(){return this._context.filter}set filter(t){this._context.filter=t}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(t){this._context.imageSmoothingEnabled=t}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(t){this._context.imageSmoothingQuality=t}get lineCap(){return this._context.lineCap}set lineCap(t){this._context.lineCap=t}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(t){this._context.lineDashOffset=t}get lineJoin(){return this._context.lineJoin}set lineJoin(t){this._context.lineJoin=t}get lineWidth(){return this._context.lineWidth}set lineWidth(t){this._context.lineWidth=t}setLineWidthByPrecision(t){const{scaleX:e,scaleY:n}=this._getScale();this._context.lineWidth=t/Math.max(e,n)}get miterLimit(){return this._context.miterLimit}set miterLimit(t){this._context.miterLimit=t}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(t){this._context.shadowBlur=t}get shadowColor(){return this._context.shadowColor}set shadowColor(t){this._context.shadowColor=t}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(t){this._context.shadowOffsetX=t}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(t){this._context.shadowOffsetY=t}get direction(){return this._context.direction}set direction(t){this._context.direction=t}get font(){return this._context.font}set font(t){this._context.font=t}get fontKerning(){return this._context.fontKerning}set fontKerning(t){this._context.fontKerning=t}get fontStretch(){return this._context.fontStretch}set fontStretch(t){this._context.fontStretch=t}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(t){this._context.fontVariantCaps=t}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(t){this._context.letterSpacing=t}get textRendering(){return this._context.textRendering}set textRendering(t){this._context.textRendering=t}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(t){this._context.wordSpacing=t}get textAlign(){return this._context.textAlign}set textAlign(t){this._context.textAlign=t}get textBaseline(){return this._context.textBaseline}set textBaseline(t){this._context.textBaseline=t}_getScale(){const t=this.getTransform();return{scaleX:t.a,scaleY:t.d}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...t){return this._context.isPointInStroke(...t)}createConicGradient(t,e,n){return this._context.createConicGradient(t,e,n)}roundRect(t,e,n,s,i){this._context.roundRect(t,e,n,s,i)}roundRectByPrecision(t,e,n,s,i){const{scaleX:a,scaleY:o}=this._getScale();t=Z(t,a),e=Z(e,o),n=Z(n,a),s=Z(s,o),this.roundRect(t,e,n,s,i)}getTransform(){return this._context.getTransform()}resetTransform(){this._context.resetTransform()}drawFocusIfNeeded(...t){return this._context.drawFocusIfNeeded(...t)}reset(){this._context.reset()}arc(t,e,n,s,i,a){this._context.arc(t,e,n,s,i,a)}arcByPrecision(t,e,n,s,i,a){const{scaleX:o,scaleY:u}=this._getScale();t=Z(t,o),e=Z(e,u),this.arc(t,e,n,s,i,a)}arcTo(t,e,n,s,i){this._context.arcTo(t,e,n,s,i)}arcToByPrecision(t,e,n,s,i){const{scaleX:a,scaleY:o}=this._getScale();t=Z(t,a),e=Z(e,o),n=Z(n,a),s=Z(s,o),this.arcTo(t,e,n,s,i)}beginPath(){this._context.beginPath()}bezierCurveTo(t,e,n,s,i,a){this._context.bezierCurveTo(t,e,n,s,i,a)}bezierCurveToByPrecision(t,e,n,s,i,a){const{scaleX:o,scaleY:u}=this._getScale();i=Z(i,o),a=Z(a,u),t=Z(t,o),e=Z(e,u),n=Z(n,o),s=Z(s,u),this.bezierCurveTo(t,e,n,s,i,a)}clearRect(t,e,n,s){this._context.clearRect(t,e,n,s)}clearRectByPrecision(t,e,n,s){const{scaleX:i,scaleY:a}=this._getScale();t=Z(t,i),e=Z(e,a),n=Z(n,i),s=Z(s,a),this.clearRect(t,e,n,s)}clip(...t){this._context.clip(...t)}closePath(){this._context.closePath()}closePathByEnv(){const e=g.Tools.getSystemType()==="Mac",s=g.Tools.getBrowserType()==="Chrome";e&&s||this._context.closePath()}createImageData(...t){if(t.length===0)throw new Error("arguments is zero");return t.length===1?this._context.createImageData(t[0]):t.length===2?this._context.createImageData(t[0],t[1]):this._context.createImageData(t[0],t[1],t[1])}createLinearGradient(t,e,n,s){return this._context.createLinearGradient(t,e,n,s)}createPattern(t,e){return this._context.createPattern(t,e)}createRadialGradient(t,e,n,s,i,a){return this._context.createRadialGradient(t,e,n,s,i,a)}drawImage(...t){const e=t,n=this._context;e.length===3?n.drawImage(t[0],t[1],t[2]):e.length===5?n.drawImage(t[0],t[1],t[2],t[3],t[4]):e.length===9&&n.drawImage(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}ellipse(t,e,n,s,i,a,o,u){this._context.ellipse(t,e,n,s,i,a,o,u)}isPointInPath(...t){return this._context.isPointInPath(...t)}fill(...t){this._context.fill(...t)}fillRect(t,e,n,s){this._context.fillRect(t,e,n,s)}fillRectByPrecision(t,e,n,s){const{scaleX:i,scaleY:a}=this._getScale();t=Z(t,i),e=Z(e,a),n=Z(n,i),s=Z(s,a),this.fillRect(t,e,n,s)}strokeRect(t,e,n,s){this._context.strokeRect(t,e,n,s)}strokeRectPrecision(t,e,n,s){const{scaleX:i,scaleY:a}=this._getScale();t=Z(t,i),e=Z(e,a),n=Z(n,i),s=Z(s,a),this.strokeRect(t,e,n,s)}fillText(t,e,n,s){s?this._context.fillText(t,e,n,s):this._context.fillText(t,e,n)}fillTextPrecision(t,e,n,s){const{scaleX:i,scaleY:a}=this._getScale();e=Z(e,i),n=Z(n,a),s?(s=Z(s,i),this._context.fillText(t,e,n,s)):this._context.fillText(t,e,n)}measureText(t){return this._context.measureText(t)}getImageData(t,e,n,s){return this._context.getImageData(t,e,n,s)}lineTo(t,e){this._context.lineTo(t,e)}lineToByPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=Z(t,n),e=Z(e,s),this.lineTo(t,e)}moveTo(t,e){this._context.moveTo(t,e)}moveToByPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=Z(t,n),e=Z(e,s),this.moveTo(t,e)}rect(t,e,n,s){this._context.rect(t,e,n,s)}rectByPrecision(t,e,n,s){const{scaleX:i,scaleY:a}=this._getScale();t=Z(t,i),e=Z(e,a),n=Z(n,i),s=Z(s,a),this.rect(t,e,n,s)}putImageData(t,e,n){this._context.putImageData(t,e,n)}quadraticCurveTo(t,e,n,s){this._context.quadraticCurveTo(t,e,n,s)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,e){this._context.scale(t,e)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(...t){this._context.setTransform(...t)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,e,n,s){this._context.strokeText(t,e,n,s)}strokeTextByPrecision(t,e,n,s){const{scaleX:i,scaleY:a}=this._getScale();e=Z(e,i),n=Z(n,a),s&&(s=Z(s,i)),this.strokeText(t,e,n,s)}transform(t,e,n,s,i,a){this._context.transform(t,e,n,s,i,a)}translate(t,e){this._context.translate(t,e)}translateWithPrecision(t,e){const{scaleX:n,scaleY:s}=this._getScale();t=Z(t,n),e=Z(e,s),this._context.translate(t,e)}translateWithPrecisionRatio(t,e){const{scaleX:n,scaleY:s}=this._getScale();this._context.translate(t/n,e/s)}clearRectForTexture(t,e,n,s){this.clearRectByPrecision(t,e,n,s)}setGlobalCompositeOperation(t){this._context.globalCompositeOperation=t}}class ar{}class or{}class j0 extends Yt{}class K0 extends Yt{__getScale(){const t=this.getTransform();return{scaleX:t.a,scaleY:t.d}}clearRect(t,e,n,s){const{scaleX:i,scaleY:a}=this.__getScale();t=Z(t,i),e=Z(e,a),n=Z(n,i),s=Z(s,a),this._context.save(),this._context.fillStyle=F1([255,255,255]),this._context.fillRect(t,e,n,s),this._context.restore()}clearRectForTexture(t,e,n,s){}setGlobalCompositeOperation(t){}}var Vt=(r=>(r[r.Rendering=0]="Rendering",r[r.Printing=1]="Printing",r))(Vt||{});class Ge{constructor(t){d(this,"isCache",!1);d(this,"_pixelRatio",1);d(this,"_canvasEle");d(this,"_context");d(this,"_width",0);d(this,"_height",0);t=t||{},this._canvasEle=wt(),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 e=this._canvasEle.getContext("2d");if(e==null)throw new Error("context is not support");t.mode===1?this._context=new K0(e):this._context=new j0(e),this.setSize(t.width,t.height,t.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setSize(t,e,n){this._pixelRatio=n||Ht(),t&&(this._canvasEle.width=t*this._pixelRatio,this._width=this._canvasEle.width/this._pixelRatio,this._canvasEle.style.width=`${this._width}px`),e&&(this._canvasEle.height=e*this._pixelRatio,this._height=this._canvasEle.height/this._pixelRatio,this._canvasEle.style.height=`${this._height}px`),this.getContext().setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(t){this._width===0||this._height===0||(t<1&&(t=1),this.setSize(this._width,this._height,t))}dispose(){this.clear(),this._canvasEle.remove()}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(t,e){try{return this._canvasEle.toDataURL(t,e)}catch{try{return this._canvasEle.toDataURL()}catch(s){const{message:i}=s;return console.error(`Unable to get data URL. ${i} For more info read https://universheet.net/docs/Canvas.html.`),""}}}}class ur extends Ge{constructor(t={width:0,height:0}){super(t),this.setSize(t.width,t.height)}}class lr extends Ge{constructor(e={width:0,height:0}){super(e);d(this,"hitCanvas",!0);this.setSize(e.width,e.height)}}class jt extends ne{constructor(){super(...arguments);d(this,"_extensions",new Map)}get extensions(){return this._extensions}register(...e){const n=new g.DisposableCollection;for(const s of e)s.parent=this,this._extensions.set(s.uKey,s),n.add(g.toDisposable(()=>{this._extensions.delete(s.uKey)}));return n}getExtensionsByOrder(){const e=Array.from(this._extensions.values());return e.sort(g.sortRules),e}getExtensionByKey(e){return this._extensions.get(e)}draw(e,n){}}class Kt{constructor(){d(this,"uKey","");d(this,"type");d(this,"Z_INDEX",0);d(this,"parent");d(this,"translateX",0);d(this,"translateY",0);d(this,"extensionOffset",{})}get zIndex(){return this.Z_INDEX}draw(t,e,n,s){}clearCache(){}_getScale(t){return Pt(t)}}const Se=g.Registry.create(),qt=g.Registry.create(),Zt=g.Registry.create(),ze=g.Registry.create();class Jt extends jt{constructor(t,e){super(t),this._skeleton=e}getSkeleton(){return this._skeleton}updateSkeleton(t){this._skeleton=t}render(t,e){if(!this.visible)return this.makeDirty(!1),this;t.save(),this._draw(t,e),t.restore()}getParentScale(){let{scaleX:t=1,scaleY:e=1}=this.parent;return this.parent.classType===K.SCENE_VIEWER&&(t=this.parent.ancestorScaleX||1,e=this.parent.ancestorScaleY||1),{scaleX:t,scaleY:e}}getDocuments(){}getNoMergeCellPositionByIndex(t,e){}getScrollXYByRelativeCoords(t){return{x:0,y:0}}getSelectionBounding(t,e,n,s){}_draw(t,e){}}class Qt extends Jt{_draw(t,e){this.draw(t,e)}}class cr extends Qt{constructor(e,n){super(e,n);d(this,"_columnHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale();s.calculateSegment(n);const a=s.rowColumnSegment;if(a.startColumn===-1&&a.endColumn===-1)return;const{rowHeaderWidth:o}=s;e.translateWithPrecision(o,0);const u=this.getExtensionsByOrder();for(const l of u)l.draw(e,i,s)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:a}=s;return n.x>i&&n.y>=0&&n.y<=a}_initialDefaultExtension(){Zt.getData().forEach(e=>{this.register(e)}),this._columnHeaderLayoutExtension=this.getExtensionByKey("DefaultColumnHeaderLayoutExtension")}}var q0=(r=>(r[r.GRID=0]="GRID",r))(q0||{});class de extends Kt{constructor(){super(...arguments);d(this,"type",0)}getCellIndex(e,n,s,i,a){return Pe(e,n,s,i,a)}isRenderDiffRangesByCell(e,n){if(n==null||n.length===0)return!0;for(const s of n){const{startRow:i,startColumn:a,endRow:o,endColumn:u}=s;if(g.Rectangle.intersects(s,{startRow:i,endRow:o,startColumn:a,endColumn:u}))return!0}return!1}isRenderDiffRangesByColumn(e,n,s){if(s==null||s.length===0)return!0;for(const i of s){const{startColumn:a,endColumn:o}=i;if(g.Rectangle.intersects({startRow:0,endRow:0,startColumn:e,endColumn:n},{startRow:0,endRow:0,startColumn:a,endColumn:o}))return!0}return!1}isRenderDiffRangesByRow(e,n,s){if(s==null||s.length===0)return!0;for(const i of s){const{startRow:a,endRow:o}=i;if(g.Rectangle.intersects({startRow:e,endRow:n,startColumn:0,endColumn:0},{startRow:a,endRow:o,startColumn:0,endColumn:0}))return!0}return!1}}const hr="DefaultBackgroundExtension",fr=40,dr=20;let Z0=class extends de{constructor(){super(...arguments);d(this,"uKey",hr);d(this,"Z_INDEX",fr);d(this,"PRINTING_Z_INDEX",dr)}get zIndex(){var e;return(e=this.parent)!=null&&e.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(e,n,s,i){const{stylesCache:a}=s,{background:o,backgroundPositions:u}=a;if(!s)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;!l||!h||c===void 0||f===void 0||(e.save(),e.setGlobalCompositeOperation("destination-over"),o&&Object.keys(o).forEach(_=>{const p=o[_];e.fillStyle=_||F1([255,255,255]),e.beginPath(),p.forValue((m,v)=>{const F=u==null?void 0:u.getValue(m,v);if(F==null)return!0;let{startY:E,endY:S,startX:B,endX:x}=F;const{isMerged:w,isMergedMainCell:O,mergeInfo:T}=F;if(w||!this.isRenderDiffRangesByCell({startRow:T.startRow,endRow:T.endRow,startColumn:T.startColumn,endColumn:T.endColumn},i))return!0;O&&(E=T.startY,S=T.endY,B=T.startX,x=T.endX),e.moveToByPrecision(B,E),e.lineToByPrecision(B,S),e.lineToByPrecision(x,S),e.lineToByPrecision(x,E)}),e.closePath(),e.fill()}),e.restore())}};Se.add(Z0);const _r="DefaultBorderExtension",gr=50;let J0=class extends de{constructor(){super(...arguments);d(this,"uKey",_r);d(this,"Z_INDEX",gr)}draw(e,n,s,i){const{dataMergeCache:a,stylesCache:o,overflowCache:u}=s,{border:l}=o;if(!s)return;const{rowHeightAccumulation:c,columnTotalWidth:h,columnWidthAccumulation:f,rowTotalHeight:_}=s;if(!c||!f||h===void 0||_===void 0)return;e.save();let p,m;e.translateWithPrecisionRatio(g1,g1);const v=this._getScale(e.getScale());l==null||l.forValue((F,E,S)=>{if(!S)return!0;const B=this.getCellIndex(F,E,c,f,a),{startY:x,endY:w,startX:O,endX:T}=B,{isMerged:R,isMergedMainCell:k,mergeInfo:$}=B;if(!this.isRenderDiffRangesByRow($.startRow,$.endRow,i))return!0;for(const M in S){const{type:U,style:I,color:L}=S[M];if(I===g.BorderStyleTypes.NONE)continue;let H=x,X=w,j=O,G=T;if(U!==q.TOP&&U!==q.BOTTOM&&U!==q.LEFT&&U!==q.RIGHT){if(R)return!0;k&&(H=$.startY,X=$.endY,j=$.startX,G=$.endX)}const Q=Xt(I);I!==p&&(zt(e,I),e.setLineWidthByPrecision(Q),p=I),L!==m&&(e.strokeStyle=L||he,m=L),N0(e,U,{startX:j,startY:H,endX:G,endY:X}),!this._getOverflowExclusion(u,U,F,E)&&Gt(e,U,(Q-1)/2/v,{startX:j,startY:H,endX:G,endY:X})}}),e.closePath(),e.restore()}_getOverflowExclusion(e,n,s,i){let a=!1;return n===q.TOP||n===q.BOTTOM||e==null||e.forRow((o,u)=>{if(o!==s)return!0;u.forEach(l=>{const c=e.getValue(o,l),{startColumn:h,endColumn:f}=c;if(n===q.LEFT&&i>h&&i<=f||n===q.RIGHT&&i>=h&&i<f)return a=!0,!1})}),a}};Se.add(J0);const Dr="DefaultColumnHeaderLayoutExtension";class Q0 extends de{constructor(){super(...arguments);d(this,"uKey",Dr);d(this,"Z_INDEX",10)}draw(e,n,s){const{rowColumnSegment:i,columnHeaderHeight:a=0}=s,{startColumn:o,endColumn:u}=i;if(!s||a===0)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;if(!l||!h||c===void 0||f===void 0)return;const _=this._getScale(n);e.fillStyle=F1([248,249,250]),e.fillRectByPrecision(0,0,c,a),e.textAlign="center",e.textBaseline="middle",e.fillStyle=F1([0,0,0]),e.beginPath(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(g1,g1),e.strokeStyle=F1([217,217,217]),e.font=`13px ${i2}`;let p=0;const m=h.length;for(let F=o-1;F<=u;F++){if(F<0||F>m-1)continue;const E=h[F];if(p===E)continue;e.moveToByPrecision(E,0),e.lineToByPrecision(E,a);const S=p+(E-p)/2;e.fillText(g.numberToABC(F),S,a/2+xt),p=E}const v=a-.5/_;e.moveToByPrecision(0,v),e.lineToByPrecision(c,v),e.stroke()}}Zt.add(new Q0);function Xe(r){return r[r.length-1]}function e6(r){var t;return(t=r.sections)==null?void 0:t[r.sections.length-1]}function pr(r){var e;const t=(e=q2(r))==null?void 0:e.column.lines;return t==null?void 0:t[t.length-1]}function vr(r){return r.lines[r.lines.length-1]}function q2(r){const t=e6(r);for(let e=0;e<t.columns.length;e++){const n=t.columns[e];if(!n.isFull)return{column:n,isLast:e===t.columns.length-1,index:e}}}function mr(r){const t=pr(r);if(t)for(let e=0;e<t.divides.length;e++){const n=t.divides[e];if(!n.isFull)return{divide:n,isLast:e===t.divides.length-1,index:e}}}function br(r){const t=e6(r),e=t.columns.length;for(let n=0;n<e;n++)if(!t.columns[n].isFull)return!1;return!0}function Te(r,t){if(r instanceof Object){const{v:e,u:n}=r;return n===g.NumberUnitType.POINT?e:e*t}return r}function v2(r=0,t,e=g.GridType.LINES,n=g.BooleanNumber.TRUE){let s=1;return e4(e,n)&&(s=r),s*=t,s}function e4(r=g.GridType.LINES,t=g.BooleanNumber.FALSE){return t===g.BooleanNumber.TRUE&&(r===g.GridType.LINES_AND_CHARS||r===g.GridType.SNAP_TO_CHARS)}function t4(r,t){const{paragraphStyle:e={}}=t,{linePitch:n=15.6,gridType:s=g.GridType.LINES,paragraphLineGapDefault:i=0}=r,{lineSpacing:a=1,spacingRule:o=g.SpacingRule.AUTO,snapToGrid:u=g.BooleanNumber.TRUE}=e;return{paragraphLineGapDefault:i,linePitch:n,gridType:s,lineSpacing:a,spacingRule:o,snapToGrid:u}}function yr(r,t){const{paragraphStyle:e={}}=t,{charSpace:n=0,gridType:s=g.GridType.LINES,defaultTabStop:i=36,documentTextStyle:a={}}=r,{fs:o=d0}=a,{snapToGrid:u=g.BooleanNumber.TRUE}=e;return{charSpace:n,documentFontSize:o,defaultTabStop:i,gridType:s,snapToGrid:u}}function t6(r,t=-1){let e=t;for(const n of r){const{sections:s}=n,i=e;let a=i,o=Number.NEGATIVE_INFINITY,u=0;for(const l of s){const{columns:c}=l,h=a;let f=h,_=Number.NEGATIVE_INFINITY,p=0;for(const m of c){const{lines:v}=m,F=f;let E=F,S=0,B=Number.NEGATIVE_INFINITY,x=null;for(const w of v){const{divides:O,lineHeight:T}=w,R=E;let k=R,$=0,M=0;S+=T;const U=O.length;for(let I=0;I<U;I++){const L=O[I],{glyphGroup:H}=L,X=k;let j=X;for(const G of H){const Q=G.glyphType===A1.LIST?0:G.count;j+=Q;const t1=G.bBox,{ba:n1}=t1;M=Math.max(M,n1),I===U-1&&($+=G.width)}H[0].xOffset!==0&&I===U-1&&($-=H[0].xOffset),I===U-1&&($+=L.left),H.length!==0&&(L.st=X+1,L.ed=j>=L.st?j:L.st,k=L.ed)}w.st=R+1,w.ed=k>=w.st?k:w.st,w.width=$,w.asc=M,B=Math.max(B,$),w.top=((x==null?void 0:x.top)||0)+((x==null?void 0:x.lineHeight)||0),x=w,E=w.ed}m.st=F+1,m.ed=E>=m.st?E:m.st,m.height=S,m.width=B,p+=B,_=Math.max(_,m.height),f=m.ed}l.st=h+1,l.ed=f>=l.st?f:l.st,l.height=_,u+=_,o=Math.max(o,p),a=l.ed}n.st=i+1,n.ed=a>=n.st?a:n.st,n.height=u,n.width=o,e=n.ed}}function Fr(r,t){for(const e of r){const{sections:n}=e;for(const s of n){const{columns:i}=s;for(const a of i){const{lines:o}=a;for(const u of o)t&&Rt(t)&&t(u)}}}}function Cr(r,t){for(const e of r){const{sections:n}=e;for(const s of n){const{columns:i}=s;for(const a of i)t&&Rt(t)&&t(a)}}}function Er(r,t,e,n,s=!1){const{relativeFrom:i,align:a,posOffset:o,percent:u}=r;if(a!=null)if(a===g.AlignTypeH.INSIDE||a===g.AlignTypeH.OUTSIDE)i===g.ObjectRelativeFromH.MARGIN||g.ObjectRelativeFromH.PAGE;else{if(i===g.ObjectRelativeFromH.COLUMN){const{width:l,left:c}=t;let h=0;return a===g.AlignTypeH.LEFT?h=c:a===g.AlignTypeH.RIGHT?h=c+l-n:a===g.AlignTypeH.CENTER&&(h=c+l/2-n/2),h}if(i!==g.ObjectRelativeFromH.LEFT_MARGIN){if(i!==g.ObjectRelativeFromH.MARGIN){if(i!==g.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==g.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==g.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===g.ObjectRelativeFromH.PAGE){const{pageWidth:l}=e;let c=0;return a===g.AlignTypeH.RIGHT?c=l-n:a===g.AlignTypeH.CENTER&&(c=l/2-n/2),c}}}}}}}else if(o){const{pageWidth:l,marginLeft:c,marginRight:h}=e,f=l-h;let _=0;return i===g.ObjectRelativeFromH.COLUMN?_=(s?0:(t==null?void 0:t.left)||0)+o:i===g.ObjectRelativeFromH.LEFT_MARGIN||(i===g.ObjectRelativeFromH.MARGIN?_=o+c:i===g.ObjectRelativeFromH.RIGHT_MARGIN||i===g.ObjectRelativeFromH.INSIDE_MARGIN||i===g.ObjectRelativeFromH.OUTSIDE_MARGIN||i===g.ObjectRelativeFromH.PAGE&&(_=o)),_+n>f&&(_=f-n),_}else if(u){const{pageWidth:l,marginLeft:c,marginRight:h}=e;if(i!==g.ObjectRelativeFromH.LEFT_MARGIN){if(i!==g.ObjectRelativeFromH.MARGIN){if(i!==g.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==g.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==g.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===g.ObjectRelativeFromH.PAGE)return u*l}}}}}}}function Sr(r,t,e,n,s,i,a=!1){const{relativeFrom:o,align:u,posOffset:l,percent:c}=r;if(u!=null){if(o===g.ObjectRelativeFromV.LINE){let h=0;return u===g.AlignTypeV.BOTTOM?h=e+n-s:u===g.AlignTypeV.TOP?h=e:u===g.AlignTypeV.CENTER&&(h=e+n/2-s/2),h}if(o!==g.ObjectRelativeFromV.TOP_MARGIN){if(o!==g.ObjectRelativeFromV.MARGIN){if(o!==g.ObjectRelativeFromV.BOTTOM_MARGIN){if(o!==g.ObjectRelativeFromV.INSIDE_MARGIN){if(o!==g.ObjectRelativeFromV.OUTSIDE_MARGIN){if(o===g.ObjectRelativeFromV.PAGE){const{pageHeight:h}=t;let f=0;return u===g.AlignTypeV.BOTTOM?f=h-s:u===g.AlignTypeV.CENTER&&(f=h/2-s/2),f}}}}}}}else if(l){let h=0;return o===g.ObjectRelativeFromV.LINE?h=e||0+l:o===g.ObjectRelativeFromV.TOP_MARGIN||o===g.ObjectRelativeFromV.MARGIN||o===g.ObjectRelativeFromV.BOTTOM_MARGIN||o===g.ObjectRelativeFromV.INSIDE_MARGIN||o===g.ObjectRelativeFromV.OUTSIDE_MARGIN||(o===g.ObjectRelativeFromV.PAGE?h=l:o===g.ObjectRelativeFromV.PARAGRAPH&&(h=(a?0:i==null?e:i)+l)),h}else if(c){const{pageHeight:h,marginBottom:f,marginTop:_}=t;if(o!==g.ObjectRelativeFromV.TOP_MARGIN){if(o!==g.ObjectRelativeFromV.MARGIN){if(o!==g.ObjectRelativeFromV.BOTTOM_MARGIN){if(o!==g.ObjectRelativeFromV.INSIDE_MARGIN){if(o!==g.ObjectRelativeFromV.OUTSIDE_MARGIN){if(o===g.ObjectRelativeFromV.PAGE)return c*h}}}}}}}function n4(r){let t=0;for(const e of r.glyphGroup)t+=e.width;return t}const n6=new g.ObjectMatrix;function Tr(){n6.reset()}function We(r,t,e,n,s){const{startIndex:i}=e,a=t.getTextRun(r+i)||{ts:{},st:0,ed:0},{st:o,ed:u}=a;let{ts:l={}}=a;const c=n6.getValue(o,u);if(c)return c;const{gridType:h=g.GridType.LINES,charSpace:f=0,documentTextStyle:_={},pageSize:p={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginRight:m=0,marginLeft:v=0,localeService:F}=n,{snapToGrid:E=g.BooleanNumber.TRUE}=s;l={..._,...l};const S=l2(l),B={..._,...l},x=p.width||Number.POSITIVE_INFINITY-v-m,w={fontStyle:S,textStyle:B,charSpace:f,gridType:h,snapToGrid:E,pageWidth:x};return n6.setValue(o,u,w),w}var xr=Object.defineProperty,Br=Object.getOwnPropertyDescriptor,Or=(r,t,e,n)=>{for(var s=n>1?void 0:n?Br(t,e):t,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(n?a(t,e,s):a(s))||s);return n&&s&&xr(t,e,s),s},wr=(r,t)=>(e,n)=>t(e,n,r);y.Skeleton=class extends g.Disposable{constructor(e){super();d(this,"_fontLocale");d(this,"_dirty",!0);this._localService=e,this._localeInitial()}get dirty(){return this._dirty}getFontLocale(){return this._fontLocale}makeDirty(e){this._dirty=e}_localeInitial(){}},y.Skeleton=Or([wr(0,E1.Inject(g.LocaleService))],y.Skeleton);class m2{constructor(){d(this,"_translateX",0);d(this,"_translateY",0);d(this,"_translateSaveList",[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(t=0,e=0){this._translateX=t,this._translateY=e}translate(t=0,e=0){this._translateX+=t,this._translateY+=e}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){const t=this._translateSaveList.pop();t&&(this._translateX=t.x,this._translateY=t.y)}translatePagePadding(t){const{marginTop:e=0,marginBottom:n=0,marginLeft:s=0,marginRight:i=0}=t;this.translate(s,e)}restorePagePadding(t){const{marginTop:e=0,marginBottom:n=0,marginLeft:s=0,marginRight:i=0}=t;this.translate(-s,-e)}translatePage(t,e=V1.VERTICAL,n=0,s=0,i=0,a=0){const{pageWidth:o,pageHeight:u}=t;let l=0,c=0;return e===V1.VERTICAL?l+=u+s:e===V1.HORIZONTAL&&(c+=o+n),this.translate(c,l),{x:c,y:l}}translateSection(t){const{top:e=0}=t;return this.translate(0,e),{x:0,y:e}}translateColumn(t){const{left:e}=t;return this.translate(e,0),{x:e,y:0}}translateLine(t,e=!1){const{top:n,marginBottom:s=0,marginTop:i=0,paddingTop:a=0,paddingBottom:o=0}=t,u=n+(e===!0?i:0)+a;return this.translate(0,u),{x:0,y:u}}translateDivide(t){const{left:e,paddingLeft:n}=t,s=e+n;return this.translate(s,0),{x:s,y:0}}translateSpan(t){const{left:e}=t;return this.translate(e,0),{x:e,y:0}}}function r4(r=[],t=g.ColumnSeparatorType.NONE,e=0,n=0,s=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY){const a=[];let o=0,u=0;if(r.length===0)a.push(r6(n,s,0,g.ColumnSeparatorType.NONE));else for(let c=0;c<r.length;c++){const{width:h,paddingEnd:f}=r[c];u=f,o=h,a.push(r6(n,o,u,t)),n+=o+u,c===r.length-1&&(o=s!==Number.POSITIVE_INFINITY?s-o:h,u=0,a.push(r6(n,o,u,t)))}const l={columns:a,colCount:(r==null?void 0:r.length)||1,height:i,top:e,st:0,ed:0};return a.forEach(c=>{c.parent=l}),l}function s4(r,t){r.isFull=t}function r6(r,t,e,n){return{lines:[],left:r,width:t,height:0,spaceWidth:e,separator:n,st:0,ed:0,drawingLRIds:[],isFull:!1}}function Ar(){return[]}class Z2{constructor(t,e=!1){this.position=t,this.required=e}}const Rr=5,i4=12,$r=13,kr=16,Ir=17,Lr=22,a4=28,o4=31,Mr=33,J2=34,Pr=35,s6=36,i6=37,u4=38,Nr=39,Ur=40,b2=41,Hr=42,D=0,b=1,r1=2,l4=3,C=4,Gr=[[C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,C,l4,C,C,C,C,C,C,C,C,C,C,C],[D,C,C,b,b,C,C,C,C,b,b,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,C,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[C,C,C,b,b,b,C,C,C,b,b,b,b,b,b,b,b,b,b,b,C,r1,C,b,b,b,b,b,b,b,b,b,b],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,b,b,b,b,b,b,C,r1,C,b,b,b,b,b,b,b,b,b,b],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,b,D,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,b,b,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,D,D,b,b,b,b,b,b,b,D,D,C,r1,C,b,b,b,b,b,D,b,b,b,D],[b,C,C,b,b,b,C,C,C,D,D,b,b,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,D,b,C,C,C,D,D,b,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,D,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,b,b,b,b,b,b,C,r1,C,b,b,b,b,b,b,b,b,b,D],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,C,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,C,D,D,D,D,D,D,D,D,D,D,D,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,b,b,b,b,b,b,C,r1,C,b,b,b,b,b,b,b,b,b,b],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,b,b,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,b,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,r1,C,b,b,b,b,D,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,b,b,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,b,D,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,D,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,b,D,D,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,b,b,D],[D,C,C,b,b,b,C,C,C,D,b,D,D,D,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[b,C,C,b,b,b,C,C,C,b,b,b,b,b,D,b,b,b,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D],[D,C,C,b,b,D,C,C,C,D,D,D,D,D,D,D,D,D,D,D,C,r1,C,D,D,D,D,D,D,D,D,b,D]];class zr{constructor(){d(this,"_rules",new Map)}add(t,e){this._rules.set(t,e)}shouldBreak(t,e){for(const n of this._rules.values())if(n(t,e))return!0;return!1}}const Xr=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]),Wr=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,c4=(r,t,e)=>{const n=r[t];r[t]=r[e],r[e]=n},Yr=r=>{const t=r.length;for(let e=0;e<t;e+=4)c4(r,e,e+3),c4(r,e+1,e+2)},Vr=r=>{Wr&&Yr(r)},a6=0,h4=-3;let y2=class{constructor(){d(this,"table",new Uint16Array(16));d(this,"trans",new Uint16Array(288))}},jr=class{constructor(t,e){d(this,"source");d(this,"dest");d(this,"sourceIndex");d(this,"tag");d(this,"bitcount");d(this,"destLen");d(this,"ltree");d(this,"dtree");this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new y2,this.dtree=new y2}};const f4=new y2,d4=new y2,o6=new Uint8Array(30),u6=new Uint16Array(30),_4=new Uint8Array(30),g4=new Uint16Array(30),Kr=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),D4=new y2,j1=new Uint8Array(320);function p4(r,t,e,n){let s,i;for(s=0;s<e;++s)r[s]=0;for(s=0;s<30-e;++s)r[s+e]=s/e|0;for(i=n,s=0;s<30;++s)t[s]=i,i+=1<<r[s]}function qr(r,t){let e;for(e=0;e<7;++e)r.table[e]=0;for(r.table[7]=24,r.table[8]=152,r.table[9]=112,e=0;e<24;++e)r.trans[e]=256+e;for(e=0;e<144;++e)r.trans[24+e]=e;for(e=0;e<8;++e)r.trans[168+e]=280+e;for(e=0;e<112;++e)r.trans[176+e]=144+e;for(e=0;e<5;++e)t.table[e]=0;for(t.table[5]=32,e=0;e<32;++e)t.trans[e]=e}const v4=new Uint16Array(16);function l6(r,t,e,n){let s,i;for(s=0;s<16;++s)r.table[s]=0;for(s=0;s<n;++s)r.table[t[e+s]]++;for(r.table[0]=0,i=0,s=0;s<16;++s)v4[s]=i,i+=r.table[s];for(s=0;s<n;++s)t[e+s]&&(r.trans[v4[t[e+s]]++]=s)}function Zr(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);const t=r.tag&1;return r.tag>>>=1,t}function K1(r,t,e){if(!t)return e;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;const n=r.tag&65535>>>16-t;return r.tag>>>=t,r.bitcount-=t,n+e}function c6(r,t){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;let e=0,n=0,s=0,i=r.tag;do n=2*n+(i&1),i>>>=1,++s,e+=t.table[s],n-=t.table[s];while(n>=0);return r.tag=i,r.bitcount-=s,t.trans[e+n]}function Jr(r,t,e){let n,s,i;const a=K1(r,5,257),o=K1(r,5,1),u=K1(r,4,4);for(n=0;n<19;++n)j1[n]=0;for(n=0;n<u;++n){const l=K1(r,3,0);j1[Kr[n]]=l}for(l6(D4,j1,0,19),s=0;s<a+o;){const l=c6(r,D4);switch(l){case 16:{const c=j1[s-1];for(i=K1(r,2,3);i;--i)j1[s++]=c;break}case 17:for(i=K1(r,3,3);i;--i)j1[s++]=0;break;case 18:for(i=K1(r,7,11);i;--i)j1[s++]=0;break;default:j1[s++]=l;break}}l6(t,j1,0,a),l6(e,j1,a,o)}function m4(r,t,e){for(;;){let n=c6(r,t);if(n===256)return a6;if(n<256)r.dest[r.destLen++]=n;else{let s;n-=257;const i=K1(r,o6[n],u6[n]),a=c6(r,e),o=r.destLen-K1(r,_4[a],g4[a]);for(s=o;s<o+i;++s)r.dest[r.destLen++]=r.dest[s]}}}function Qr(r){let t,e,n;for(;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if(t=r.source[r.sourceIndex+1],t=256*t+r.source[r.sourceIndex],e=r.source[r.sourceIndex+3],e=256*e+r.source[r.sourceIndex+2],t!==(~e&65535))return h4;for(r.sourceIndex+=4,n=t;n;--n)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,a6}function b4(r,t){const e=new jr(r,t);let n,s,i;do{switch(n=Zr(e),s=K1(e,2,0),s){case 0:i=Qr(e);break;case 1:i=m4(e,f4,d4);break;case 2:Jr(e,e.ltree,e.dtree),i=m4(e,e.ltree,e.dtree);break;default:i=h4}if(i!==a6)throw new Error("Data error")}while(!n);return e.destLen<e.dest.length?typeof e.dest.slice=="function"?e.dest.slice(0,e.destLen):e.dest.subarray(0,e.destLen):e.dest}qr(f4,d4),p4(o6,u6,4,3),p4(_4,g4,2,1),o6[28]=0,u6[28]=258;const h6=11,xe=5,e8=h6-xe,t8=65536>>h6,n8=(1<<e8)-1,Q2=2,f6=(1<<xe)-1,y4=65536>>xe,r8=1024>>xe,s8=y4+r8+32,i8=1<<Q2;class a8{constructor(t){d(this,"highStart");d(this,"errorValue");d(this,"data");const e=typeof t.readUInt32BE=="function"&&typeof t.slice=="function";if(e||t instanceof Uint8Array){let n;if(e)this.highStart=t.readUInt32LE(0),this.errorValue=t.readUInt32LE(4),n=t.readUInt32LE(8),t=t.slice(12);else{const s=new DataView(t.buffer);this.highStart=s.getUint32(0,!0),this.errorValue=s.getUint32(4,!0),n=s.getUint32(8,!0),t=t.subarray(12)}t=b4(t,new Uint8Array(n)),t=b4(t,new Uint8Array(n)),Vr(t),this.data=new Uint32Array(t.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=t)}get(t){let e;return t<0||t>1114111?this.errorValue:t<55296||t>56319&&t<=65535?(e=(this.data[t>>xe]<<Q2)+(t&f6),this.data[e]):t<=65535?(e=(this.data[y4+(t-55296>>xe)]<<Q2)+(t&f6),this.data[e]):t<this.highStart?(e=this.data[s8-t8+(t>>h6)],e=this.data[e+(t>>xe&n8)],e=(e<<Q2)+(t&f6),this.data[e]):this.data[this.data.length-i8]}}const o8=new a8(Xr);function d6(r){switch(r){case Mr:return i4;case Nr:case Ur:case Hr:return i4;case Pr:return Rr;default:return r}}function _6(r){switch(r){case i6:case u4:return J2;case b2:return Lr;default:return r}}class u8{constructor(t){d(this,"_pos",0);d(this,"_lastPos",0);d(this,"_curClass",null);d(this,"_codePoint",null);d(this,"_nextClass",null);d(this,"_LB8a",!1);d(this,"_LB21a",!1);d(this,"_LB30a",0);d(this,"_rule",new zr);this.string=t}use(t){return t(this),this}addRule(t,e){return this._rule.add(t,e),this}nextBreak(){if(this._curClass==null){const t=this._nextCharClass();this._curClass=_6(t),this._nextClass=t,this._LB8a=t===o4,this._LB30a=0}for(;this._pos<this.string.length;){this._lastPos=this._pos;const t=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===J2||this._curClass===s6&&this._nextClass!==i6)return this._curClass=_6(d6(this._nextClass)),new Z2(this._lastPos,!0);if(this._rule.shouldBreak(this._codePoint,this._nextClass))return this._curClass=_6(d6(this._nextClass)),new Z2(this._lastPos);let e=this._getSimpleBreak();if(e===null&&(e=this._getPairTableBreak(t)),this._LB8a=this._nextClass===o4,e)return new Z2(this._lastPos)}return this._lastPos<this.string.length?(this._lastPos=this.string.length,new Z2(this.string.length)):null}_getNextCodePoint(){const t=this.string.charCodeAt(this._pos++),e=this.string.charCodeAt(this._pos);return t>=55296&&t<=56319&&e>=56320&&e<=57343?(this._pos++,(t-55296)*1024+(e-56320)+65536):t}_nextCharClass(){const t=this._getNextCodePoint(),e=o8.get(t);return this._codePoint=t,d6(e)}_getSimpleBreak(){switch(this._nextClass){case b2:return!1;case J2:case i6:case u4:return this._curClass=J2,!1;case s6:return this._curClass=s6,!1}return null}_getPairTableBreak(t){let e=!1;switch(Gr[this._curClass][this._nextClass]){case D:e=!0;break;case b:e=t===b2;break;case r1:if(e=t===b2,!e)return e=!1,e;break;case l4:if(t!==b2)return e;break}return this._LB8a&&(e=!1),this._LB21a&&(this._curClass===kr||this._curClass===Ir)?(e=!1,this._LB21a=!1):this._LB21a=this._curClass===$r,this._curClass===a4?(this._LB30a++,this._LB30a===2&&this._nextClass===a4&&(e=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,e}}const l8=9;function c8(r){r.addRule("break_before_tab",t=>t===l8)}function F4(r){return[" "," "," "].includes(r)}function C4(r){return F4(r)||c2(r)||X2(r)||W2(r)||Mt(r)}function g6(r,t){return F4(r)?{stretchability:[0,t/2],shrinkability:[0,t/3]}:X2(r)?{stretchability:[0,0],shrinkability:[0,t/2]}:W2(r)?{stretchability:[0,0],shrinkability:[t/2,0]}:Mt(r)?{stretchability:[0,0],shrinkability:[t/4,t/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function h8(r,t,e){return D6(A1.WORD,r,t,e)}function Ye(r,t,e,n){return D6(A1.LETTER,r,t,e,n)}function E4(r,t){return D6(A1.TAB,g.DataStreamTreeTokenType.TAB,r,t)}function D6(r,t,e,n,s){const{fontStyle:i,textStyle:a,charSpace:o=1,gridType:u=g.GridType.LINES,snapToGrid:l=g.BooleanNumber.FALSE}=e,c=[g.DataStreamTreeTokenType.SECTION_BREAK,g.DataStreamTreeTokenType.TABLE_START,g.DataStreamTreeTokenType.TABLE_END,g.DataStreamTreeTokenType.TABLE_ROW_START,g.DataStreamTreeTokenType.TABLE_ROW_END,g.DataStreamTreeTokenType.TABLE_CELL_START,g.DataStreamTreeTokenType.TABLE_CELL_END,g.DataStreamTreeTokenType.CUSTOM_RANGE_START,g.DataStreamTreeTokenType.CUSTOM_RANGE_END,g.DataStreamTreeTokenType.COLUMN_BREAK,g.DataStreamTreeTokenType.PAGE_BREAK,g.DataStreamTreeTokenType.DOCS_END,g.DataStreamTreeTokenType.CUSTOM_BLOCK];let h=g.DataStreamTreeTokenType.LETTER;if(c.indexOf(t)>-1)return{content:"",ts:a,fontStyle:i,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:g6(t,0),glyphType:A1.PLACEHOLDER,streamType:t,count:1};t===g.DataStreamTreeTokenType.PARAGRAPH&&(h=g.DataStreamTreeTokenType.PARAGRAPH);let f=null,_=0;s&&s.boundingBox&&s.font?f=ee.getBBoxFromGlyphInfo(s,i):f=ee.getTextSize(t,i);const{width:p=0}=f;let m=n!=null?n:p;if(e4(u,l)&&(m=p+(h2(t)?o:o/2),u===g.GridType.SNAP_TO_CHARS&&(_=(m-p)/2)),s&&s.kerning!==0&&s.font){const v=Ut(i.fontSize)/s.font.unitsPerEm,F=s.kerning*v;m+=F,_+=F}return{content:t,ts:a,fontStyle:i,width:m,bBox:f,xOffset:_,left:0,glyphType:r,streamType:h,isJustifiable:C4(t),adjustability:g6(t,m),count:t.length}}function f8(r,t,e){const{bBox:n,symbol:s,ts:i,fontStyle:a,bulletAlign:o=g.BulletAlignment.START,bulletType:u=!1}=t,l=n.width,c=Math.ceil(l/e);let h=(c<2?2:c)*e,f=0;u&&(o===g.BulletAlignment.CENTER?(f=-l/2,h-=f):o===g.BulletAlignment.END&&(f=-l,h-=f));const _=d8(r,t);return{content:s,ts:i,fontStyle:a,width:h,xOffset:0,bBox:_,left:f,isJustifiable:C4(s),adjustability:g6(s,h),glyphType:A1.LIST,streamType:g.DataStreamTreeTokenType.LETTER,count:0}}function p6(r,t=0){const e=r.length;let n;for(let s=0;s<e;s++){const i=r[s];i.left=n?n.left+n.width:t,n=i}}function et(r,t,e=0){p6(t,e);for(const n of t)n.parent=r;r.glyphGroup.push(...t)}function d8(r,t){const{ba:e,bd:n}=r.bBox,{ba:s,bd:i}=t.bBox;return e+n>s+i?r.bBox:t.bBox}function S4(r,t){r.width-=t,r.adjustability.shrinkability[1]-=t}function T4(r,t){r.width-=t,r.xOffset-=t,r.adjustability.shrinkability[0]-=t}/*! https://mths.be/codepointat v0.2.0 by @mathias */String.prototype.codePointAt||function(){var r=function(){try{var e={},n=Object.defineProperty,s=n(e,e,e)&&n}catch{}return s}(),t=function(e){if(this==null)throw TypeError();var n=String(this),s=n.length,i=e?Number(e):0;if(i!=i&&(i=0),!(i<0||i>=s)){var a=n.charCodeAt(i),o;return a>=55296&&a<=56319&&s>i+1&&(o=n.charCodeAt(i+1),o>=56320&&o<=57343)?(a-55296)*1024+o-56320+65536:a}};r?r(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}();var v6=0,x4=-3;function F2(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function _8(r,t){this.source=r,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new F2,this.dtree=new F2}var B4=new F2,O4=new F2,m6=new Uint8Array(30),b6=new Uint16Array(30),w4=new Uint8Array(30),A4=new Uint16Array(30),g8=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),R4=new F2,q1=new Uint8Array(320);function $4(r,t,e,n){var s,i;for(s=0;s<e;++s)r[s]=0;for(s=0;s<30-e;++s)r[s+e]=s/e|0;for(i=n,s=0;s<30;++s)t[s]=i,i+=1<<r[s]}function D8(r,t){var e;for(e=0;e<7;++e)r.table[e]=0;for(r.table[7]=24,r.table[8]=152,r.table[9]=112,e=0;e<24;++e)r.trans[e]=256+e;for(e=0;e<144;++e)r.trans[24+e]=e;for(e=0;e<8;++e)r.trans[168+e]=280+e;for(e=0;e<112;++e)r.trans[176+e]=144+e;for(e=0;e<5;++e)t.table[e]=0;for(t.table[5]=32,e=0;e<32;++e)t.trans[e]=e}var k4=new Uint16Array(16);function y6(r,t,e,n){var s,i;for(s=0;s<16;++s)r.table[s]=0;for(s=0;s<n;++s)r.table[t[e+s]]++;for(r.table[0]=0,i=0,s=0;s<16;++s)k4[s]=i,i+=r.table[s];for(s=0;s<n;++s)t[e+s]&&(r.trans[k4[t[e+s]]++]=s)}function p8(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);var t=r.tag&1;return r.tag>>>=1,t}function Z1(r,t,e){if(!t)return e;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;var n=r.tag&65535>>>16-t;return r.tag>>>=t,r.bitcount-=t,n+e}function F6(r,t){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;var e=0,n=0,s=0,i=r.tag;do n=2*n+(i&1),i>>>=1,++s,e+=t.table[s],n-=t.table[s];while(n>=0);return r.tag=i,r.bitcount-=s,t.trans[e+n]}function v8(r,t,e){var n,s,i,a,o,u;for(n=Z1(r,5,257),s=Z1(r,5,1),i=Z1(r,4,4),a=0;a<19;++a)q1[a]=0;for(a=0;a<i;++a){var l=Z1(r,3,0);q1[g8[a]]=l}for(y6(R4,q1,0,19),o=0;o<n+s;){var c=F6(r,R4);switch(c){case 16:var h=q1[o-1];for(u=Z1(r,2,3);u;--u)q1[o++]=h;break;case 17:for(u=Z1(r,3,3);u;--u)q1[o++]=0;break;case 18:for(u=Z1(r,7,11);u;--u)q1[o++]=0;break;default:q1[o++]=c;break}}y6(t,q1,0,n),y6(e,q1,n,s)}function I4(r,t,e){for(;;){var n=F6(r,t);if(n===256)return v6;if(n<256)r.dest[r.destLen++]=n;else{var s,i,a,o;for(n-=257,s=Z1(r,m6[n],b6[n]),i=F6(r,e),a=r.destLen-Z1(r,w4[i],A4[i]),o=a;o<a+s;++o)r.dest[r.destLen++]=r.dest[o]}}}function m8(r){for(var t,e,n;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if(t=r.source[r.sourceIndex+1],t=256*t+r.source[r.sourceIndex],e=r.source[r.sourceIndex+3],e=256*e+r.source[r.sourceIndex+2],t!==(~e&65535))return x4;for(r.sourceIndex+=4,n=t;n;--n)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,v6}function b8(r,t){var e=new _8(r,t),n,s,i;do{switch(n=p8(e),s=Z1(e,2,0),s){case 0:i=m8(e);break;case 1:i=I4(e,B4,O4);break;case 2:v8(e,e.ltree,e.dtree),i=I4(e,e.ltree,e.dtree);break;default:i=x4}if(i!==v6)throw new Error("Data error")}while(!n);return e.destLen<e.dest.length?typeof e.dest.slice=="function"?e.dest.slice(0,e.destLen):e.dest.subarray(0,e.destLen):e.dest}D8(B4,O4),$4(m6,b6,4,3),$4(w4,A4,2,1),m6[28]=0,b6[28]=258;var y8=b8;function Ve(r,t,e,n,s){return Math.pow(1-s,3)*r+3*Math.pow(1-s,2)*s*t+3*(1-s)*Math.pow(s,2)*e+Math.pow(s,3)*n}function re(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}re.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},re.prototype.addPoint=function(r,t){typeof r=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=r,this.x2=r),r<this.x1&&(this.x1=r),r>this.x2&&(this.x2=r)),typeof t=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))},re.prototype.addX=function(r){this.addPoint(r,null)},re.prototype.addY=function(r){this.addPoint(null,r)},re.prototype.addBezier=function(r,t,e,n,s,i,a,o){var u=[r,t],l=[e,n],c=[s,i],h=[a,o];this.addPoint(r,t),this.addPoint(a,o);for(var f=0;f<=1;f++){var _=6*u[f]-12*l[f]+6*c[f],p=-3*u[f]+9*l[f]-9*c[f]+3*h[f],m=3*l[f]-3*u[f];if(p===0){if(_===0)continue;var v=-m/_;0<v&&v<1&&(f===0&&this.addX(Ve(u[f],l[f],c[f],h[f],v)),f===1&&this.addY(Ve(u[f],l[f],c[f],h[f],v)));continue}var F=Math.pow(_,2)-4*m*p;if(!(F<0)){var E=(-_+Math.sqrt(F))/(2*p);0<E&&E<1&&(f===0&&this.addX(Ve(u[f],l[f],c[f],h[f],E)),f===1&&this.addY(Ve(u[f],l[f],c[f],h[f],E)));var S=(-_-Math.sqrt(F))/(2*p);0<S&&S<1&&(f===0&&this.addX(Ve(u[f],l[f],c[f],h[f],S)),f===1&&this.addY(Ve(u[f],l[f],c[f],h[f],S)))}}},re.prototype.addQuad=function(r,t,e,n,s,i){var a=r+.6666666666666666*(e-r),o=t+2/3*(n-t),u=a+1/3*(s-r),l=o+1/3*(i-t);this.addBezier(r,t,a,o,u,l,s,i)};function _1(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}_1.prototype.moveTo=function(r,t){this.commands.push({type:"M",x:r,y:t})},_1.prototype.lineTo=function(r,t){this.commands.push({type:"L",x:r,y:t})},_1.prototype.curveTo=_1.prototype.bezierCurveTo=function(r,t,e,n,s,i){this.commands.push({type:"C",x1:r,y1:t,x2:e,y2:n,x:s,y:i})},_1.prototype.quadTo=_1.prototype.quadraticCurveTo=function(r,t,e,n){this.commands.push({type:"Q",x1:r,y1:t,x:e,y:n})},_1.prototype.close=_1.prototype.closePath=function(){this.commands.push({type:"Z"})},_1.prototype.extend=function(r){if(r.commands)r=r.commands;else if(r instanceof re){var t=r;this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),this.close();return}Array.prototype.push.apply(this.commands,r)},_1.prototype.getBoundingBox=function(){for(var r=new re,t=0,e=0,n=0,s=0,i=0;i<this.commands.length;i++){var a=this.commands[i];switch(a.type){case"M":r.addPoint(a.x,a.y),t=n=a.x,e=s=a.y;break;case"L":r.addPoint(a.x,a.y),n=a.x,s=a.y;break;case"Q":r.addQuad(n,s,a.x1,a.y1,a.x,a.y),n=a.x,s=a.y;break;case"C":r.addBezier(n,s,a.x1,a.y1,a.x2,a.y2,a.x,a.y),n=a.x,s=a.y;break;case"Z":n=t,s=e;break;default:throw new Error("Unexpected path command "+a.type)}}return r.isEmpty()&&r.addPoint(0,0),r},_1.prototype.draw=function(r){r.beginPath();for(var t=0;t<this.commands.length;t+=1){var e=this.commands[t];e.type==="M"?r.moveTo(e.x,e.y):e.type==="L"?r.lineTo(e.x,e.y):e.type==="C"?r.bezierCurveTo(e.x1,e.y1,e.x2,e.y2,e.x,e.y):e.type==="Q"?r.quadraticCurveTo(e.x1,e.y1,e.x,e.y):e.type==="Z"&&r.closePath()}this.fill&&(r.fillStyle=this.fill,r.fill()),this.stroke&&(r.strokeStyle=this.stroke,r.lineWidth=this.strokeWidth,r.stroke())},_1.prototype.toPathData=function(r){r=r!==void 0?r:2;function t(a){return Math.round(a)===a?""+Math.round(a):a.toFixed(r)}function e(){for(var a=arguments,o="",u=0;u<arguments.length;u+=1){var l=a[u];l>=0&&u>0&&(o+=" "),o+=t(l)}return o}for(var n="",s=0;s<this.commands.length;s+=1){var i=this.commands[s];i.type==="M"?n+="M"+e(i.x,i.y):i.type==="L"?n+="L"+e(i.x,i.y):i.type==="C"?n+="C"+e(i.x1,i.y1,i.x2,i.y2,i.x,i.y):i.type==="Q"?n+="Q"+e(i.x1,i.y1,i.x,i.y):i.type==="Z"&&(n+="Z")}return n},_1.prototype.toSVG=function(r){var t='<path d="';return t+=this.toPathData(r),t+='"',this.fill&&this.fill!=="black"&&(this.fill===null?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>",t},_1.prototype.toDOMElement=function(r){var t=this.toPathData(r),e=document.createElementNS("http://www.w3.org/2000/svg","path");return e.setAttribute("d",t),e};function L4(r){throw new Error(r)}function M4(r,t){r||L4(t)}var J={fail:L4,argument:M4,assert:M4},P4=32768,N4=2147483648,je={},N={},e1={};function M1(r){return function(){return r}}N.BYTE=function(r){return J.argument(r>=0&&r<=255,"Byte value should be between 0 and 255."),[r]},e1.BYTE=M1(1),N.CHAR=function(r){return[r.charCodeAt(0)]},e1.CHAR=M1(1),N.CHARARRAY=function(r){typeof r>"u"&&(r="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],e=0;e<r.length;e+=1)t[e]=r.charCodeAt(e);return t},e1.CHARARRAY=function(r){return typeof r>"u"?0:r.length},N.USHORT=function(r){return[r>>8&255,r&255]},e1.USHORT=M1(2),N.SHORT=function(r){return r>=P4&&(r=-(2*P4-r)),[r>>8&255,r&255]},e1.SHORT=M1(2),N.UINT24=function(r){return[r>>16&255,r>>8&255,r&255]},e1.UINT24=M1(3),N.ULONG=function(r){return[r>>24&255,r>>16&255,r>>8&255,r&255]},e1.ULONG=M1(4),N.LONG=function(r){return r>=N4&&(r=-(2*N4-r)),[r>>24&255,r>>16&255,r>>8&255,r&255]},e1.LONG=M1(4),N.FIXED=N.ULONG,e1.FIXED=e1.ULONG,N.FWORD=N.SHORT,e1.FWORD=e1.SHORT,N.UFWORD=N.USHORT,e1.UFWORD=e1.USHORT,N.LONGDATETIME=function(r){return[0,0,0,0,r>>24&255,r>>16&255,r>>8&255,r&255]},e1.LONGDATETIME=M1(8),N.TAG=function(r){return J.argument(r.length===4,"Tag should be exactly 4 ASCII characters."),[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3)]},e1.TAG=M1(4),N.Card8=N.BYTE,e1.Card8=e1.BYTE,N.Card16=N.USHORT,e1.Card16=e1.USHORT,N.OffSize=N.BYTE,e1.OffSize=e1.BYTE,N.SID=N.USHORT,e1.SID=e1.USHORT,N.NUMBER=function(r){return r>=-107&&r<=107?[r+139]:r>=108&&r<=1131?(r=r-108,[(r>>8)+247,r&255]):r>=-1131&&r<=-108?(r=-r-108,[(r>>8)+251,r&255]):r>=-32768&&r<=32767?N.NUMBER16(r):N.NUMBER32(r)},e1.NUMBER=function(r){return N.NUMBER(r).length},N.NUMBER16=function(r){return[28,r>>8&255,r&255]},e1.NUMBER16=M1(3),N.NUMBER32=function(r){return[29,r>>24&255,r>>16&255,r>>8&255,r&255]},e1.NUMBER32=M1(5),N.REAL=function(r){var t=r.toString(),e=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(e){var n=parseFloat("1e"+((e[2]?+e[2]:0)+e[1].length));t=(Math.round(r*n)/n).toString()}for(var s="",i=0,a=t.length;i<a;i+=1){var o=t[i];o==="e"?s+=t[++i]==="-"?"c":"b":o==="."?s+="a":o==="-"?s+="e":s+=o}s+=s.length&1?"f":"ff";for(var u=[30],l=0,c=s.length;l<c;l+=2)u.push(parseInt(s.substr(l,2),16));return u},e1.REAL=function(r){return N.REAL(r).length},N.NAME=N.CHARARRAY,e1.NAME=e1.CHARARRAY,N.STRING=N.CHARARRAY,e1.STRING=e1.CHARARRAY,je.UTF8=function(r,t,e){for(var n=[],s=e,i=0;i<s;i++,t+=1)n[i]=r.getUint8(t);return String.fromCharCode.apply(null,n)},je.UTF16=function(r,t,e){for(var n=[],s=e/2,i=0;i<s;i++,t+=2)n[i]=r.getUint16(t);return String.fromCharCode.apply(null,n)},N.UTF16=function(r){for(var t=[],e=0;e<r.length;e+=1){var n=r.charCodeAt(e);t[t.length]=n>>8&255,t[t.length]=n&255}return t},e1.UTF16=function(r){return r.length*2};var C6={"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":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};je.MACSTRING=function(r,t,e,n){var s=C6[n];if(s!==void 0){for(var i="",a=0;a<e;a++){var o=r.getUint8(t+a);o<=127?i+=String.fromCharCode(o):i+=s[o&127]}return i}};var tt=typeof WeakMap=="function"&&new WeakMap,nt,F8=function(r){if(!nt){nt={};for(var t in C6)nt[t]=new String(t)}var e=nt[r];if(e!==void 0){if(tt){var n=tt.get(e);if(n!==void 0)return n}var s=C6[r];if(s!==void 0){for(var i={},a=0;a<s.length;a++)i[s.charCodeAt(a)]=a+128;return tt&&tt.set(e,i),i}}};N.MACSTRING=function(r,t){var e=F8(t);if(e!==void 0){for(var n=[],s=0;s<r.length;s++){var i=r.charCodeAt(s);if(i>=128&&(i=e[i],i===void 0))return;n[s]=i}return n}},e1.MACSTRING=function(r,t){var e=N.MACSTRING(r,t);return e!==void 0?e.length:0};function E6(r){return r>=-128&&r<=127}function C8(r,t,e){for(var n=0,s=r.length;t<s&&n<64&&r[t]===0;)++t,++n;return e.push(128|n-1),t}function E8(r,t,e){for(var n=0,s=r.length,i=t;i<s&&n<64;){var a=r[i];if(!E6(a)||a===0&&i+1<s&&r[i+1]===0)break;++i,++n}e.push(n-1);for(var o=t;o<i;++o)e.push(r[o]+256&255);return i}function S8(r,t,e){for(var n=0,s=r.length,i=t;i<s&&n<64;){var a=r[i];if(a===0||E6(a)&&i+1<s&&E6(r[i+1]))break;++i,++n}e.push(64|n-1);for(var o=t;o<i;++o){var u=r[o];e.push(u+65536>>8&255,u+256&255)}return i}N.VARDELTAS=function(r){for(var t=0,e=[];t<r.length;){var n=r[t];n===0?t=C8(r,t,e):n>=-128&&n<=127?t=E8(r,t,e):t=S8(r,t,e)}return e},N.INDEX=function(r){for(var t=1,e=[t],n=[],s=0;s<r.length;s+=1){var i=N.OBJECT(r[s]);Array.prototype.push.apply(n,i),t+=i.length,e.push(t)}if(n.length===0)return[0,0];for(var a=[],o=1+Math.floor(Math.log(t)/Math.log(2))/8|0,u=[void 0,N.BYTE,N.USHORT,N.UINT24,N.ULONG][o],l=0;l<e.length;l+=1){var c=u(e[l]);Array.prototype.push.apply(a,c)}return Array.prototype.concat(N.Card16(r.length),N.OffSize(o),a,n)},e1.INDEX=function(r){return N.INDEX(r).length},N.DICT=function(r){for(var t=[],e=Object.keys(r),n=e.length,s=0;s<n;s+=1){var i=parseInt(e[s],0),a=r[i];t=t.concat(N.OPERAND(a.value,a.type)),t=t.concat(N.OPERATOR(i))}return t},e1.DICT=function(r){return N.DICT(r).length},N.OPERATOR=function(r){return r<1200?[r]:[12,r-1200]},N.OPERAND=function(r,t){var e=[];if(Array.isArray(t))for(var n=0;n<t.length;n+=1)J.argument(r.length===t.length,"Not enough arguments given for type"+t),e=e.concat(N.OPERAND(r[n],t[n]));else if(t==="SID")e=e.concat(N.NUMBER(r));else if(t==="offset")e=e.concat(N.NUMBER32(r));else if(t==="number")e=e.concat(N.NUMBER(r));else if(t==="real")e=e.concat(N.REAL(r));else throw new Error("Unknown operand type "+t);return e},N.OP=N.BYTE,e1.OP=e1.BYTE;var rt=typeof WeakMap=="function"&&new WeakMap;N.CHARSTRING=function(r){if(rt){var t=rt.get(r);if(t!==void 0)return t}for(var e=[],n=r.length,s=0;s<n;s+=1){var i=r[s];e=e.concat(N[i.type](i.value))}return rt&&rt.set(r,e),e},e1.CHARSTRING=function(r){return N.CHARSTRING(r).length},N.OBJECT=function(r){var t=N[r.type];return J.argument(t!==void 0,"No encoding function for type "+r.type),t(r.value)},e1.OBJECT=function(r){var t=e1[r.type];return J.argument(t!==void 0,"No sizeOf function for type "+r.type),t(r.value)},N.TABLE=function(r){for(var t=[],e=r.fields.length,n=[],s=[],i=0;i<e;i+=1){var a=r.fields[i],o=N[a.type];J.argument(o!==void 0,"No encoding function for field type "+a.type+" ("+a.name+")");var u=r[a.name];u===void 0&&(u=a.value);var l=o(u);a.type==="TABLE"?(s.push(t.length),t=t.concat([0,0]),n.push(l)):t=t.concat(l)}for(var c=0;c<n.length;c+=1){var h=s[c],f=t.length;J.argument(f<65536,"Table "+r.tableName+" too big."),t[h]=f>>8,t[h+1]=f&255,t=t.concat(n[c])}return t},e1.TABLE=function(r){for(var t=0,e=r.fields.length,n=0;n<e;n+=1){var s=r.fields[n],i=e1[s.type];J.argument(i!==void 0,"No sizeOf function for field type "+s.type+" ("+s.name+")");var a=r[s.name];a===void 0&&(a=s.value),t+=i(a),s.type==="TABLE"&&(t+=2)}return t},N.RECORD=N.TABLE,e1.RECORD=e1.TABLE,N.LITERAL=function(r){return r},e1.LITERAL=function(r){return r.length};function b1(r,t,e){if(t.length&&(t[0].name!=="coverageFormat"||t[0].value===1))for(var n=0;n<t.length;n+=1){var s=t[n];this[s.name]=s.value}if(this.tableName=r,this.fields=t,e)for(var i=Object.keys(e),a=0;a<i.length;a+=1){var o=i[a],u=e[o];this[o]!==void 0&&(this[o]=u)}}b1.prototype.encode=function(){return N.TABLE(this)},b1.prototype.sizeOf=function(){return e1.TABLE(this)};function C2(r,t,e){e===void 0&&(e=t.length);var n=new Array(t.length+1);n[0]={name:r+"Count",type:"USHORT",value:e};for(var s=0;s<t.length;s++)n[s+1]={name:r+s,type:"USHORT",value:t[s]};return n}function S6(r,t,e){var n=t.length,s=new Array(n+1);s[0]={name:r+"Count",type:"USHORT",value:n};for(var i=0;i<n;i++)s[i+1]={name:r+i,type:"TABLE",value:e(t[i],i)};return s}function E2(r,t,e){var n=t.length,s=[];s[0]={name:r+"Count",type:"USHORT",value:n};for(var i=0;i<n;i++)s=s.concat(e(t[i],i));return s}function st(r){r.format===1?b1.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(C2("glyph",r.glyphs))):r.format===2?b1.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(E2("rangeRecord",r.ranges,function(t){return[{name:"startGlyphID",type:"USHORT",value:t.start},{name:"endGlyphID",type:"USHORT",value:t.end},{name:"startCoverageIndex",type:"USHORT",value:t.index}]}))):J.assert(!1,"Coverage format must be 1 or 2.")}st.prototype=Object.create(b1.prototype),st.prototype.constructor=st;function it(r){b1.call(this,"scriptListTable",E2("scriptRecord",r,function(t,e){var n=t.script,s=n.defaultLangSys;return J.assert(!!s,"Unable to write GSUB: script "+t.tag+" has no default language system."),[{name:"scriptTag"+e,type:"TAG",value:t.tag},{name:"script"+e,type:"TABLE",value:new b1("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new b1("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:s.reqFeatureIndex}].concat(C2("featureIndex",s.featureIndexes)))}].concat(E2("langSys",n.langSysRecords,function(i,a){var o=i.langSys;return[{name:"langSysTag"+a,type:"TAG",value:i.tag},{name:"langSys"+a,type:"TABLE",value:new b1("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:o.reqFeatureIndex}].concat(C2("featureIndex",o.featureIndexes)))}]})))}]}))}it.prototype=Object.create(b1.prototype),it.prototype.constructor=it;function at(r){b1.call(this,"featureListTable",E2("featureRecord",r,function(t,e){var n=t.feature;return[{name:"featureTag"+e,type:"TAG",value:t.tag},{name:"feature"+e,type:"TABLE",value:new b1("featureTable",[{name:"featureParams",type:"USHORT",value:n.featureParams}].concat(C2("lookupListIndex",n.lookupListIndexes)))}]}))}at.prototype=Object.create(b1.prototype),at.prototype.constructor=at;function ot(r,t){b1.call(this,"lookupListTable",S6("lookup",r,function(e){var n=t[e.lookupType];return J.assert(!!n,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new b1("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(S6("subtable",e.subtables,n)))}))}ot.prototype=Object.create(b1.prototype),ot.prototype.constructor=ot;var z={Table:b1,Record:b1,Coverage:st,ScriptList:it,FeatureList:at,LookupList:ot,ushortList:C2,tableList:S6,recordList:E2};function U4(r,t){return r.getUint8(t)}function ut(r,t){return r.getUint16(t,!1)}function T8(r,t){return r.getInt16(t,!1)}function T6(r,t){return r.getUint32(t,!1)}function H4(r,t){var e=r.getInt16(t,!1),n=r.getUint16(t+2,!1);return e+n/65535}function x8(r,t){for(var e="",n=t;n<t+4;n+=1)e+=String.fromCharCode(r.getInt8(n));return e}function B8(r,t,e){for(var n=0,s=0;s<e;s+=1)n<<=8,n+=r.getUint8(t+s);return n}function O8(r,t,e){for(var n=[],s=t;s<e;s+=1)n.push(r.getUint8(s));return n}function w8(r){for(var t="",e=0;e<r.length;e+=1)t+=String.fromCharCode(r[e]);return t}var A8={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function A(r,t){this.data=r,this.offset=t,this.relativeOffset=0}A.prototype.parseByte=function(){var r=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,r},A.prototype.parseChar=function(){var r=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,r},A.prototype.parseCard8=A.prototype.parseByte,A.prototype.parseUShort=function(){var r=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,r},A.prototype.parseCard16=A.prototype.parseUShort,A.prototype.parseSID=A.prototype.parseUShort,A.prototype.parseOffset16=A.prototype.parseUShort,A.prototype.parseShort=function(){var r=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,r},A.prototype.parseF2Dot14=function(){var r=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,r},A.prototype.parseULong=function(){var r=T6(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,r},A.prototype.parseOffset32=A.prototype.parseULong,A.prototype.parseFixed=function(){var r=H4(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,r},A.prototype.parseString=function(r){var t=this.data,e=this.offset+this.relativeOffset,n="";this.relativeOffset+=r;for(var s=0;s<r;s++)n+=String.fromCharCode(t.getUint8(e+s));return n},A.prototype.parseTag=function(){return this.parseString(4)},A.prototype.parseLongDateTime=function(){var r=T6(this.data,this.offset+this.relativeOffset+4);return r-=2082844800,this.relativeOffset+=8,r},A.prototype.parseVersion=function(r){var t=ut(this.data,this.offset+this.relativeOffset),e=ut(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,r===void 0&&(r=4096),t+e/r/10},A.prototype.skip=function(r,t){t===void 0&&(t=1),this.relativeOffset+=A8[r]*t},A.prototype.parseULongList=function(r){r===void 0&&(r=this.parseULong());for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint32(n),n+=4;return this.relativeOffset+=r*4,t},A.prototype.parseOffset16List=A.prototype.parseUShortList=function(r){r===void 0&&(r=this.parseUShort());for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint16(n),n+=2;return this.relativeOffset+=r*2,t},A.prototype.parseShortList=function(r){for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getInt16(n),n+=2;return this.relativeOffset+=r*2,t},A.prototype.parseByteList=function(r){for(var t=new Array(r),e=this.data,n=this.offset+this.relativeOffset,s=0;s<r;s++)t[s]=e.getUint8(n++);return this.relativeOffset+=r,t},A.prototype.parseList=function(r,t){t||(t=r,r=this.parseUShort());for(var e=new Array(r),n=0;n<r;n++)e[n]=t.call(this);return e},A.prototype.parseList32=function(r,t){t||(t=r,r=this.parseULong());for(var e=new Array(r),n=0;n<r;n++)e[n]=t.call(this);return e},A.prototype.parseRecordList=function(r,t){t||(t=r,r=this.parseUShort());for(var e=new Array(r),n=Object.keys(t),s=0;s<r;s++){for(var i={},a=0;a<n.length;a++){var o=n[a],u=t[o];i[o]=u.call(this)}e[s]=i}return e},A.prototype.parseRecordList32=function(r,t){t||(t=r,r=this.parseULong());for(var e=new Array(r),n=Object.keys(t),s=0;s<r;s++){for(var i={},a=0;a<n.length;a++){var o=n[a],u=t[o];i[o]=u.call(this)}e[s]=i}return e},A.prototype.parseStruct=function(r){if(typeof r=="function")return r.call(this);for(var t=Object.keys(r),e={},n=0;n<t.length;n++){var s=t[n],i=r[s];e[s]=i.call(this)}return e},A.prototype.parseValueRecord=function(r){if(r===void 0&&(r=this.parseUShort()),r!==0){var t={};return r&1&&(t.xPlacement=this.parseShort()),r&2&&(t.yPlacement=this.parseShort()),r&4&&(t.xAdvance=this.parseShort()),r&8&&(t.yAdvance=this.parseShort()),r&16&&(t.xPlaDevice=void 0,this.parseShort()),r&32&&(t.yPlaDevice=void 0,this.parseShort()),r&64&&(t.xAdvDevice=void 0,this.parseShort()),r&128&&(t.yAdvDevice=void 0,this.parseShort()),t}},A.prototype.parseValueRecordList=function(){for(var r=this.parseUShort(),t=this.parseUShort(),e=new Array(t),n=0;n<t;n++)e[n]=this.parseValueRecord(r);return e},A.prototype.parsePointer=function(r){var t=this.parseOffset16();if(t>0)return new A(this.data,this.offset+t).parseStruct(r)},A.prototype.parsePointer32=function(r){var t=this.parseOffset32();if(t>0)return new A(this.data,this.offset+t).parseStruct(r)},A.prototype.parseListOfLists=function(r){for(var t=this.parseOffset16List(),e=t.length,n=this.relativeOffset,s=new Array(e),i=0;i<e;i++){var a=t[i];if(a===0){s[i]=void 0;continue}if(this.relativeOffset=a,r){for(var o=this.parseOffset16List(),u=new Array(o.length),l=0;l<o.length;l++)this.relativeOffset=a+o[l],u[l]=r.call(this);s[i]=u}else s[i]=this.parseUShortList()}return this.relativeOffset=n,s},A.prototype.parseCoverage=function(){var r=this.offset+this.relativeOffset,t=this.parseUShort(),e=this.parseUShort();if(t===1)return{format:1,glyphs:this.parseUShortList(e)};if(t===2){for(var n=new Array(e),s=0;s<e;s++)n[s]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:n}}throw new Error("0x"+r.toString(16)+": Coverage format must be 1 or 2.")},A.prototype.parseClassDef=function(){var r=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(t===2)return{format:2,ranges:this.parseRecordList({start:A.uShort,end:A.uShort,classId:A.uShort})};throw new Error("0x"+r.toString(16)+": ClassDef format must be 1 or 2.")},A.list=function(r,t){return function(){return this.parseList(r,t)}},A.list32=function(r,t){return function(){return this.parseList32(r,t)}},A.recordList=function(r,t){return function(){return this.parseRecordList(r,t)}},A.recordList32=function(r,t){return function(){return this.parseRecordList32(r,t)}},A.pointer=function(r){return function(){return this.parsePointer(r)}},A.pointer32=function(r){return function(){return this.parsePointer32(r)}},A.tag=A.prototype.parseTag,A.byte=A.prototype.parseByte,A.uShort=A.offset16=A.prototype.parseUShort,A.uShortList=A.prototype.parseUShortList,A.uLong=A.offset32=A.prototype.parseULong,A.uLongList=A.prototype.parseULongList,A.struct=A.prototype.parseStruct,A.coverage=A.prototype.parseCoverage,A.classDef=A.prototype.parseClassDef;var G4={reserved:A.uShort,reqFeatureIndex:A.uShort,featureIndexes:A.uShortList};A.prototype.parseScriptList=function(){return this.parsePointer(A.recordList({tag:A.tag,script:A.pointer({defaultLangSys:A.pointer(G4),langSysRecords:A.recordList({tag:A.tag,langSys:A.pointer(G4)})})}))||[]},A.prototype.parseFeatureList=function(){return this.parsePointer(A.recordList({tag:A.tag,feature:A.pointer({featureParams:A.offset16,lookupListIndexes:A.uShortList})}))||[]},A.prototype.parseLookupList=function(r){return this.parsePointer(A.list(A.pointer(function(){var t=this.parseUShort();J.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");var e=this.parseUShort(),n=e&16;return{lookupType:t,lookupFlag:e,subtables:this.parseList(A.pointer(r[t])),markFilteringSet:n?this.parseUShort():void 0}})))||[]},A.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){var r=this.parseUShort(),t=this.parseUShort();J.argument(r===1&&t<1,"GPOS/GSUB feature variations table unknown.");var e=this.parseRecordList32({conditionSetOffset:A.offset32,featureTableSubstitutionOffset:A.offset32});return e})||[]};var Y={getByte:U4,getCard8:U4,getUShort:ut,getCard16:ut,getShort:T8,getULong:T6,getFixed:H4,getTag:x8,getOffset:B8,getBytes:O8,bytesToString:w8,Parser:A};function R8(r,t){t.parseUShort(),r.length=t.parseULong(),r.language=t.parseULong();var e;r.groupCount=e=t.parseULong(),r.glyphIndexMap={};for(var n=0;n<e;n+=1)for(var s=t.parseULong(),i=t.parseULong(),a=t.parseULong(),o=s;o<=i;o+=1)r.glyphIndexMap[o]=a,a++}function $8(r,t,e,n,s){r.length=t.parseUShort(),r.language=t.parseUShort();var i;r.segCount=i=t.parseUShort()>>1,t.skip("uShort",3),r.glyphIndexMap={};for(var a=new Y.Parser(e,n+s+14),o=new Y.Parser(e,n+s+16+i*2),u=new Y.Parser(e,n+s+16+i*4),l=new Y.Parser(e,n+s+16+i*6),c=n+s+16+i*8,h=0;h<i-1;h+=1)for(var f=void 0,_=a.parseUShort(),p=o.parseUShort(),m=u.parseShort(),v=l.parseUShort(),F=p;F<=_;F+=1)v!==0?(c=l.offset+l.relativeOffset-2,c+=v,c+=(F-p)*2,f=Y.getUShort(e,c),f!==0&&(f=f+m&65535)):f=F+m&65535,r.glyphIndexMap[F]=f}function k8(r,t){var e={};e.version=Y.getUShort(r,t),J.argument(e.version===0,"cmap table version should be 0."),e.numTables=Y.getUShort(r,t+2);for(var n=-1,s=e.numTables-1;s>=0;s-=1){var i=Y.getUShort(r,t+4+s*8),a=Y.getUShort(r,t+4+s*8+2);if(i===3&&(a===0||a===1||a===10)||i===0&&(a===0||a===1||a===2||a===3||a===4)){n=Y.getULong(r,t+4+s*8+4);break}}if(n===-1)throw new Error("No valid cmap sub-tables found.");var o=new Y.Parser(r,t+n);if(e.format=o.parseUShort(),e.format===12)R8(e,o);else if(e.format===4)$8(e,o,r,t,n);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+e.format+").");return e}function I8(r,t,e){r.segments.push({end:t,start:t,delta:-(t-e),offset:0,glyphIndex:e})}function L8(r){r.segments.push({end:65535,start:65535,delta:1,offset:0})}function M8(r){var t=!0,e;for(e=r.length-1;e>0;e-=1){var n=r.get(e);if(n.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),t=!1;break}}var s=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:t?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:t?12:20}];t||(s=s.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),s=s.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 i=new z.Table("cmap",s);for(i.segments=[],e=0;e<r.length;e+=1){for(var a=r.get(e),o=0;o<a.unicodes.length;o+=1)I8(i,a.unicodes[o],e);i.segments=i.segments.sort(function(E,S){return E.start-S.start})}L8(i);var u=i.segments.length,l=0,c=[],h=[],f=[],_=[],p=[],m=[];for(e=0;e<u;e+=1){var v=i.segments[e];v.end<=65535&&v.start<=65535?(c=c.concat({name:"end_"+e,type:"USHORT",value:v.end}),h=h.concat({name:"start_"+e,type:"USHORT",value:v.start}),f=f.concat({name:"idDelta_"+e,type:"SHORT",value:v.delta}),_=_.concat({name:"idRangeOffset_"+e,type:"USHORT",value:v.offset}),v.glyphId!==void 0&&(p=p.concat({name:"glyph_"+e,type:"USHORT",value:v.glyphId}))):l+=1,!t&&v.glyphIndex!==void 0&&(m=m.concat({name:"cmap12Start_"+e,type:"ULONG",value:v.start}),m=m.concat({name:"cmap12End_"+e,type:"ULONG",value:v.end}),m=m.concat({name:"cmap12Glyph_"+e,type:"ULONG",value:v.glyphIndex}))}if(i.segCountX2=(u-l)*2,i.searchRange=Math.pow(2,Math.floor(Math.log(u-l)/Math.log(2)))*2,i.entrySelector=Math.log(i.searchRange/2)/Math.log(2),i.rangeShift=i.segCountX2-i.searchRange,i.fields=i.fields.concat(c),i.fields.push({name:"reservedPad",type:"USHORT",value:0}),i.fields=i.fields.concat(h),i.fields=i.fields.concat(f),i.fields=i.fields.concat(_),i.fields=i.fields.concat(p),i.cmap4Length=14+c.length*2+2+h.length*2+f.length*2+_.length*2+p.length*2,!t){var F=16+m.length*4;i.cmap12Offset=12+2*2+4+i.cmap4Length,i.fields=i.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:F},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:m.length/3}]),i.fields=i.fields.concat(m)}return i}var z4={parse:k8,make:M8},lt=[".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"],P8=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],N8=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],Be=[".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 X4(r){this.font=r}X4.prototype.charToGlyphIndex=function(r){var t=r.codePointAt(0),e=this.font.glyphs;if(e){for(var n=0;n<e.length;n+=1)for(var s=e.get(n),i=0;i<s.unicodes.length;i+=1)if(s.unicodes[i]===t)return n}return null};function W4(r){this.cmap=r}W4.prototype.charToGlyphIndex=function(r){return this.cmap.glyphIndexMap[r.codePointAt(0)]||0};function ct(r,t){this.encoding=r,this.charset=t}ct.prototype.charToGlyphIndex=function(r){var t=r.codePointAt(0),e=this.encoding[t];return this.charset.indexOf(e)};function x6(r){switch(r.version){case 1:this.names=Be.slice();break;case 2:this.names=new Array(r.numberOfGlyphs);for(var t=0;t<r.numberOfGlyphs;t++)r.glyphNameIndex[t]<Be.length?this.names[t]=Be[r.glyphNameIndex[t]]:this.names[t]=r.names[r.glyphNameIndex[t]-Be.length];break;case 2.5:this.names=new Array(r.numberOfGlyphs);for(var e=0;e<r.numberOfGlyphs;e++)this.names[e]=Be[e+r.glyphNameIndex[e]];break;case 3:this.names=[];break;default:this.names=[];break}}x6.prototype.nameToGlyphIndex=function(r){return this.names.indexOf(r)},x6.prototype.glyphIndexToName=function(r){return this.names[r]};function U8(r){for(var t,e=r.tables.cmap.glyphIndexMap,n=Object.keys(e),s=0;s<n.length;s+=1){var i=n[s],a=e[i];t=r.glyphs.get(a),t.addUnicode(parseInt(i))}for(var o=0;o<r.glyphs.length;o+=1)t=r.glyphs.get(o),r.cffEncoding?r.isCIDFont?t.name="gid"+o:t.name=r.cffEncoding.charset[o]:r.glyphNames.names&&(t.name=r.glyphNames.glyphIndexToName(o))}function H8(r){r._IndexToUnicodeMap={};for(var t=r.tables.cmap.glyphIndexMap,e=Object.keys(t),n=0;n<e.length;n+=1){var s=e[n],i=t[s];r._IndexToUnicodeMap[i]===void 0?r._IndexToUnicodeMap[i]={unicodes:[parseInt(s)]}:r._IndexToUnicodeMap[i].unicodes.push(parseInt(s))}}function G8(r,t){t.lowMemory?H8(r):U8(r)}function z8(r,t,e,n,s){r.beginPath(),r.moveTo(t,e),r.lineTo(n,s),r.stroke()}var Oe={line:z8};function X8(r,t){var e=t||new _1;return{configurable:!0,get:function(){return typeof e=="function"&&(e=e()),e},set:function(n){e=n}}}function $1(r){this.bindConstructorValues(r)}$1.prototype.bindConstructorValues=function(r){this.index=r.index||0,this.name=r.name||null,this.unicode=r.unicode||void 0,this.unicodes=r.unicodes||r.unicode!==void 0?[r.unicode]:[],"xMin"in r&&(this.xMin=r.xMin),"yMin"in r&&(this.yMin=r.yMin),"xMax"in r&&(this.xMax=r.xMax),"yMax"in r&&(this.yMax=r.yMax),"advanceWidth"in r&&(this.advanceWidth=r.advanceWidth),Object.defineProperty(this,"path",X8(this,r.path))},$1.prototype.addUnicode=function(r){this.unicodes.length===0&&(this.unicode=r),this.unicodes.push(r)},$1.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},$1.prototype.getPath=function(r,t,e,n,s){r=r!==void 0?r:0,t=t!==void 0?t:0,e=e!==void 0?e:72;var i,a;n||(n={});var o=n.xScale,u=n.yScale;if(n.hinting&&s&&s.hinting&&(a=this.path&&s.hinting.exec(this,e)),a)i=s.hinting.getCommands(a),r=Math.round(r),t=Math.round(t),o=u=1;else{i=this.path.commands;var l=1/(this.path.unitsPerEm||1e3)*e;o===void 0&&(o=l),u===void 0&&(u=l)}for(var c=new _1,h=0;h<i.length;h+=1){var f=i[h];f.type==="M"?c.moveTo(r+f.x*o,t+-f.y*u):f.type==="L"?c.lineTo(r+f.x*o,t+-f.y*u):f.type==="Q"?c.quadraticCurveTo(r+f.x1*o,t+-f.y1*u,r+f.x*o,t+-f.y*u):f.type==="C"?c.curveTo(r+f.x1*o,t+-f.y1*u,r+f.x2*o,t+-f.y2*u,r+f.x*o,t+-f.y*u):f.type==="Z"&&c.closePath()}return c},$1.prototype.getContours=function(){if(this.points===void 0)return[];for(var r=[],t=[],e=0;e<this.points.length;e+=1){var n=this.points[e];t.push(n),n.lastPointOfContour&&(r.push(t),t=[])}return J.argument(t.length===0,"There are still points left in the current contour."),r},$1.prototype.getMetrics=function(){for(var r=this.path.commands,t=[],e=[],n=0;n<r.length;n+=1){var s=r[n];s.type!=="Z"&&(t.push(s.x),e.push(s.y)),(s.type==="Q"||s.type==="C")&&(t.push(s.x1),e.push(s.y1)),s.type==="C"&&(t.push(s.x2),e.push(s.y2))}var i={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,e),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,e),leftSideBearing:this.leftSideBearing};return isFinite(i.xMin)||(i.xMin=0),isFinite(i.xMax)||(i.xMax=this.advanceWidth),isFinite(i.yMin)||(i.yMin=0),isFinite(i.yMax)||(i.yMax=0),i.rightSideBearing=this.advanceWidth-i.leftSideBearing-(i.xMax-i.xMin),i},$1.prototype.draw=function(r,t,e,n,s){this.getPath(t,e,n,s).draw(r)},$1.prototype.drawPoints=function(r,t,e,n){function s(h,f,_,p){r.beginPath();for(var m=0;m<h.length;m+=1)r.moveTo(f+h[m].x*p,_+h[m].y*p),r.arc(f+h[m].x*p,_+h[m].y*p,2,0,Math.PI*2,!1);r.closePath(),r.fill()}t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:24;for(var i=1/this.path.unitsPerEm*n,a=[],o=[],u=this.path,l=0;l<u.commands.length;l+=1){var c=u.commands[l];c.x!==void 0&&a.push({x:c.x,y:-c.y}),c.x1!==void 0&&o.push({x:c.x1,y:-c.y1}),c.x2!==void 0&&o.push({x:c.x2,y:-c.y2})}r.fillStyle="blue",s(a,t,e,i),r.fillStyle="red",s(o,t,e,i)},$1.prototype.drawMetrics=function(r,t,e,n){var s;t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:24,s=1/this.path.unitsPerEm*n,r.lineWidth=1,r.strokeStyle="black",Oe.line(r,t,-1e4,t,1e4),Oe.line(r,-1e4,e,1e4,e);var i=this.xMin||0,a=this.yMin||0,o=this.xMax||0,u=this.yMax||0,l=this.advanceWidth||0;r.strokeStyle="blue",Oe.line(r,t+i*s,-1e4,t+i*s,1e4),Oe.line(r,t+o*s,-1e4,t+o*s,1e4),Oe.line(r,-1e4,e+-a*s,1e4,e+-a*s),Oe.line(r,-1e4,e+-u*s,1e4,e+-u*s),r.strokeStyle="green",Oe.line(r,t+l*s,-1e4,t+l*s,1e4)};function ht(r,t,e){Object.defineProperty(r,t,{get:function(){return r.path,r[e]},set:function(n){r[e]=n},enumerable:!0,configurable:!0})}function B6(r,t){if(this.font=r,this.glyphs={},Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];n.path.unitsPerEm=r.unitsPerEm,this.glyphs[e]=n}this.length=t&&t.length||0}B6.prototype.get=function(r){if(this.glyphs[r]===void 0){this.font._push(r),typeof this.glyphs[r]=="function"&&(this.glyphs[r]=this.glyphs[r]());var t=this.glyphs[r],e=this.font._IndexToUnicodeMap[r];if(e)for(var n=0;n<e.unicodes.length;n++)t.addUnicode(e.unicodes[n]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+r:t.name=this.font.cffEncoding.charset[r]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(r)),this.glyphs[r].advanceWidth=this.font._hmtxTableData[r].advanceWidth,this.glyphs[r].leftSideBearing=this.font._hmtxTableData[r].leftSideBearing}else typeof this.glyphs[r]=="function"&&(this.glyphs[r]=this.glyphs[r]());return this.glyphs[r]},B6.prototype.push=function(r,t){this.glyphs[r]=t,this.length++};function W8(r,t){return new $1({index:t,font:r})}function Y8(r,t,e,n,s,i){return function(){var a=new $1({index:t,font:r});return a.path=function(){e(a,n,s);var o=i(r.glyphs,a);return o.unitsPerEm=r.unitsPerEm,o},ht(a,"xMin","_xMin"),ht(a,"xMax","_xMax"),ht(a,"yMin","_yMin"),ht(a,"yMax","_yMax"),a}}function V8(r,t,e,n){return function(){var s=new $1({index:t,font:r});return s.path=function(){var i=e(r,s,n);return i.unitsPerEm=r.unitsPerEm,i},s}}var J1={GlyphSet:B6,glyphLoader:W8,ttfGlyphLoader:Y8,cffGlyphLoader:V8};function Y4(r,t){if(r===t)return!0;if(Array.isArray(r)&&Array.isArray(t)){if(r.length!==t.length)return!1;for(var e=0;e<r.length;e+=1)if(!Y4(r[e],t[e]))return!1;return!0}else return!1}function O6(r){var t;return r.length<1240?t=107:r.length<33900?t=1131:t=32768,t}function _e(r,t,e){var n=[],s=[],i=Y.getCard16(r,t),a,o;if(i!==0){var u=Y.getByte(r,t+2);a=t+(i+1)*u+2;for(var l=t+3,c=0;c<i+1;c+=1)n.push(Y.getOffset(r,l,u)),l+=u;o=a+n[i]}else o=t+2;for(var h=0;h<n.length-1;h+=1){var f=Y.getBytes(r,a+n[h],a+n[h+1]);e&&(f=e(f)),s.push(f)}return{objects:s,startOffset:t,endOffset:o}}function j8(r,t){var e=[],n=Y.getCard16(r,t),s,i;if(n!==0){var a=Y.getByte(r,t+2);s=t+(n+1)*a+2;for(var o=t+3,u=0;u<n+1;u+=1)e.push(Y.getOffset(r,o,a)),o+=a;i=s+e[n]}else i=t+2;return{offsets:e,startOffset:t,endOffset:i}}function K8(r,t,e,n,s){var i=Y.getCard16(e,n),a=0;if(i!==0){var o=Y.getByte(e,n+2);a=n+(i+1)*o+2}var u=Y.getBytes(e,a+t[r],a+t[r+1]);return s&&(u=s(u)),u}function q8(r){for(var t="",e=15,n=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var s=r.parseByte(),i=s>>4,a=s&15;if(i===e||(t+=n[i],a===e))break;t+=n[a]}return parseFloat(t)}function Z8(r,t){var e,n,s,i;if(t===28)return e=r.parseByte(),n=r.parseByte(),e<<8|n;if(t===29)return e=r.parseByte(),n=r.parseByte(),s=r.parseByte(),i=r.parseByte(),e<<24|n<<16|s<<8|i;if(t===30)return q8(r);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return e=r.parseByte(),(t-247)*256+e+108;if(t>=251&&t<=254)return e=r.parseByte(),-(t-251)*256-e-108;throw new Error("Invalid b0 "+t)}function J8(r){for(var t={},e=0;e<r.length;e+=1){var n=r[e][0],s=r[e][1],i=void 0;if(s.length===1?i=s[0]:i=s,t.hasOwnProperty(n)&&!isNaN(t[n]))throw new Error("Object "+t+" already has key "+n);t[n]=i}return t}function V4(r,t,e){t=t!==void 0?t:0;var n=new Y.Parser(r,t),s=[],i=[];for(e=e!==void 0?e:r.length;n.relativeOffset<e;){var a=n.parseByte();a<=21?(a===12&&(a=1200+n.parseByte()),s.push([a,i]),i=[]):i.push(Z8(n,a))}return J8(s)}function S2(r,t){return t<=390?t=lt[t]:t=r[t-391],t}function j4(r,t,e){for(var n={},s,i=0;i<t.length;i+=1){var a=t[i];if(Array.isArray(a.type)){var o=[];o.length=a.type.length;for(var u=0;u<a.type.length;u++)s=r[a.op]!==void 0?r[a.op][u]:void 0,s===void 0&&(s=a.value!==void 0&&a.value[u]!==void 0?a.value[u]:null),a.type[u]==="SID"&&(s=S2(e,s)),o[u]=s;n[a.name]=o}else s=r[a.op],s===void 0&&(s=a.value!==void 0?a.value:null),a.type==="SID"&&(s=S2(e,s)),n[a.name]=s}return n}function Q8(r,t){var e={};return e.formatMajor=Y.getCard8(r,t),e.formatMinor=Y.getCard8(r,t+1),e.size=Y.getCard8(r,t+2),e.offsetSize=Y.getCard8(r,t+3),e.startOffset=t,e.endOffset=t+4,e}var K4=[{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"}],q4=[{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 es(r,t){var e=V4(r,0,r.byteLength);return j4(e,K4,t)}function Z4(r,t,e,n){var s=V4(r,t,e);return j4(s,q4,n)}function J4(r,t,e,n){for(var s=[],i=0;i<e.length;i+=1){var a=new DataView(new Uint8Array(e[i]).buffer),o=es(a,n);o._subrs=[],o._subrsBias=0,o._defaultWidthX=0,o._nominalWidthX=0;var u=o.private[0],l=o.private[1];if(u!==0&&l!==0){var c=Z4(r,l+t,u,n);if(o._defaultWidthX=c.defaultWidthX,o._nominalWidthX=c.nominalWidthX,c.subrs!==0){var h=l+c.subrs,f=_e(r,h+t);o._subrs=f.objects,o._subrsBias=O6(o._subrs)}o._privateDict=c}s.push(o)}return s}function ts(r,t,e,n){var s,i,a=new Y.Parser(r,t);e-=1;var o=[".notdef"],u=a.parseCard8();if(u===0)for(var l=0;l<e;l+=1)s=a.parseSID(),o.push(S2(n,s));else if(u===1)for(;o.length<=e;){s=a.parseSID(),i=a.parseCard8();for(var c=0;c<=i;c+=1)o.push(S2(n,s)),s+=1}else if(u===2)for(;o.length<=e;){s=a.parseSID(),i=a.parseCard16();for(var h=0;h<=i;h+=1)o.push(S2(n,s)),s+=1}else throw new Error("Unknown charset format "+u);return o}function ns(r,t,e){var n,s={},i=new Y.Parser(r,t),a=i.parseCard8();if(a===0)for(var o=i.parseCard8(),u=0;u<o;u+=1)n=i.parseCard8(),s[n]=u;else if(a===1){var l=i.parseCard8();n=1;for(var c=0;c<l;c+=1)for(var h=i.parseCard8(),f=i.parseCard8(),_=h;_<=h+f;_+=1)s[_]=n,n+=1}else throw new Error("Unknown encoding format "+a);return new ct(s,e)}function Q4(r,t,e){var n,s,i,a,o=new _1,u=[],l=0,c=!1,h=!1,f=0,_=0,p,m,v,F;if(r.isCIDFont){var E=r.tables.cff.topDict._fdSelect[t.index],S=r.tables.cff.topDict._fdArray[E];p=S._subrs,m=S._subrsBias,v=S._defaultWidthX,F=S._nominalWidthX}else p=r.tables.cff.topDict._subrs,m=r.tables.cff.topDict._subrsBias,v=r.tables.cff.topDict._defaultWidthX,F=r.tables.cff.topDict._nominalWidthX;var B=v;function x(T,R){h&&o.closePath(),o.moveTo(T,R),h=!0}function w(){var T;T=u.length%2!==0,T&&!c&&(B=u.shift()+F),l+=u.length>>1,u.length=0,c=!0}function O(T){for(var R,k,$,M,U,I,L,H,X,j,G,Q,t1=0;t1<T.length;){var n1=T[t1];switch(t1+=1,n1){case 1:w();break;case 3:w();break;case 4:u.length>1&&!c&&(B=u.shift()+F,c=!0),_+=u.pop(),x(f,_);break;case 5:for(;u.length>0;)f+=u.shift(),_+=u.shift(),o.lineTo(f,_);break;case 6:for(;u.length>0&&(f+=u.shift(),o.lineTo(f,_),u.length!==0);)_+=u.shift(),o.lineTo(f,_);break;case 7:for(;u.length>0&&(_+=u.shift(),o.lineTo(f,_),u.length!==0);)f+=u.shift(),o.lineTo(f,_);break;case 8:for(;u.length>0;)n=f+u.shift(),s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),f=i+u.shift(),_=a+u.shift(),o.curveTo(n,s,i,a,f,_);break;case 10:U=u.pop()+m,I=p[U],I&&O(I);break;case 11:return;case 12:switch(n1=T[t1],t1+=1,n1){case 35:n=f+u.shift(),s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),L=i+u.shift(),H=a+u.shift(),X=L+u.shift(),j=H+u.shift(),G=X+u.shift(),Q=j+u.shift(),f=G+u.shift(),_=Q+u.shift(),u.shift(),o.curveTo(n,s,i,a,L,H),o.curveTo(X,j,G,Q,f,_);break;case 34:n=f+u.shift(),s=_,i=n+u.shift(),a=s+u.shift(),L=i+u.shift(),H=a,X=L+u.shift(),j=a,G=X+u.shift(),Q=_,f=G+u.shift(),o.curveTo(n,s,i,a,L,H),o.curveTo(X,j,G,Q,f,_);break;case 36:n=f+u.shift(),s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),L=i+u.shift(),H=a,X=L+u.shift(),j=a,G=X+u.shift(),Q=j+u.shift(),f=G+u.shift(),o.curveTo(n,s,i,a,L,H),o.curveTo(X,j,G,Q,f,_);break;case 37:n=f+u.shift(),s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),L=i+u.shift(),H=a+u.shift(),X=L+u.shift(),j=H+u.shift(),G=X+u.shift(),Q=j+u.shift(),Math.abs(G-f)>Math.abs(Q-_)?f=G+u.shift():_=Q+u.shift(),o.curveTo(n,s,i,a,L,H),o.curveTo(X,j,G,Q,f,_);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+n1),u.length=0}break;case 14:u.length>0&&!c&&(B=u.shift()+F,c=!0),h&&(o.closePath(),h=!1);break;case 18:w();break;case 19:case 20:w(),t1+=l+7>>3;break;case 21:u.length>2&&!c&&(B=u.shift()+F,c=!0),_+=u.pop(),f+=u.pop(),x(f,_);break;case 22:u.length>1&&!c&&(B=u.shift()+F,c=!0),f+=u.pop(),x(f,_);break;case 23:w();break;case 24:for(;u.length>2;)n=f+u.shift(),s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),f=i+u.shift(),_=a+u.shift(),o.curveTo(n,s,i,a,f,_);f+=u.shift(),_+=u.shift(),o.lineTo(f,_);break;case 25:for(;u.length>6;)f+=u.shift(),_+=u.shift(),o.lineTo(f,_);n=f+u.shift(),s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),f=i+u.shift(),_=a+u.shift(),o.curveTo(n,s,i,a,f,_);break;case 26:for(u.length%2&&(f+=u.shift());u.length>0;)n=f,s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),f=i,_=a+u.shift(),o.curveTo(n,s,i,a,f,_);break;case 27:for(u.length%2&&(_+=u.shift());u.length>0;)n=f+u.shift(),s=_,i=n+u.shift(),a=s+u.shift(),f=i+u.shift(),_=a,o.curveTo(n,s,i,a,f,_);break;case 28:R=T[t1],k=T[t1+1],u.push((R<<24|k<<16)>>16),t1+=2;break;case 29:U=u.pop()+r.gsubrsBias,I=r.gsubrs[U],I&&O(I);break;case 30:for(;u.length>0&&(n=f,s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),f=i+u.shift(),_=a+(u.length===1?u.shift():0),o.curveTo(n,s,i,a,f,_),u.length!==0);)n=f+u.shift(),s=_,i=n+u.shift(),a=s+u.shift(),_=a+u.shift(),f=i+(u.length===1?u.shift():0),o.curveTo(n,s,i,a,f,_);break;case 31:for(;u.length>0&&(n=f+u.shift(),s=_,i=n+u.shift(),a=s+u.shift(),_=a+u.shift(),f=i+(u.length===1?u.shift():0),o.curveTo(n,s,i,a,f,_),u.length!==0);)n=f,s=_+u.shift(),i=n+u.shift(),a=s+u.shift(),f=i+u.shift(),_=a+(u.length===1?u.shift():0),o.curveTo(n,s,i,a,f,_);break;default:n1<32?console.log("Glyph "+t.index+": unknown operator "+n1):n1<247?u.push(n1-139):n1<251?(R=T[t1],t1+=1,u.push((n1-247)*256+R+108)):n1<255?(R=T[t1],t1+=1,u.push(-(n1-251)*256-R-108)):(R=T[t1],k=T[t1+1],$=T[t1+2],M=T[t1+3],t1+=4,u.push((R<<24|k<<16|$<<8|M)/65536))}}}return O(e),t.advanceWidth=B,o}function rs(r,t,e,n){var s=[],i,a=new Y.Parser(r,t),o=a.parseCard8();if(o===0)for(var u=0;u<e;u++){if(i=a.parseCard8(),i>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");s.push(i)}else if(o===3){var l=a.parseCard16(),c=a.parseCard16();if(c!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var h,f=0;f<l;f++){if(i=a.parseCard8(),h=a.parseCard16(),i>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");if(h>e)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+h);for(;c<h;c++)s.push(i);c=h}if(h!==e)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+h)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+o);return s}function ss(r,t,e,n){e.tables.cff={};var s=Q8(r,t),i=_e(r,s.endOffset,Y.bytesToString),a=_e(r,i.endOffset),o=_e(r,a.endOffset,Y.bytesToString),u=_e(r,o.endOffset);e.gsubrs=u.objects,e.gsubrsBias=O6(e.gsubrs);var l=J4(r,t,a.objects,o.objects);if(l.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+l.length);var c=l[0];if(e.tables.cff.topDict=c,c._privateDict&&(e.defaultWidthX=c._privateDict.defaultWidthX,e.nominalWidthX=c._privateDict.nominalWidthX),c.ros[0]!==void 0&&c.ros[1]!==void 0&&(e.isCIDFont=!0),e.isCIDFont){var h=c.fdArray,f=c.fdSelect;if(h===0||f===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");h+=t;var _=_e(r,h),p=J4(r,t,_.objects,o.objects);c._fdArray=p,f+=t,c._fdSelect=rs(r,f,e.numGlyphs,p.length)}var m=t+c.private[1],v=Z4(r,m,c.private[0],o.objects);if(e.defaultWidthX=v.defaultWidthX,e.nominalWidthX=v.nominalWidthX,v.subrs!==0){var F=m+v.subrs,E=_e(r,F);e.subrs=E.objects,e.subrsBias=O6(e.subrs)}else e.subrs=[],e.subrsBias=0;var S;n.lowMemory?(S=j8(r,t+c.charStrings),e.nGlyphs=S.offsets.length):(S=_e(r,t+c.charStrings),e.nGlyphs=S.objects.length);var B=ts(r,t+c.charset,e.nGlyphs,o.objects);if(c.encoding===0?e.cffEncoding=new ct(P8,B):c.encoding===1?e.cffEncoding=new ct(N8,B):e.cffEncoding=ns(r,t+c.encoding,B),e.encoding=e.encoding||e.cffEncoding,e.glyphs=new J1.GlyphSet(e),n.lowMemory)e._push=function(O){var T=K8(O,S.offsets,r,t+c.charStrings);e.glyphs.push(O,J1.cffGlyphLoader(e,O,Q4,T))};else for(var x=0;x<e.nGlyphs;x+=1){var w=S.objects[x];e.glyphs.push(x,J1.cffGlyphLoader(e,x,Q4,w))}}function e7(r,t){var e,n=lt.indexOf(r);return n>=0&&(e=n),n=t.indexOf(r),n>=0?e=n+lt.length:(e=lt.length+t.length,t.push(r)),e}function is(){return new z.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}])}function as(r){var t=new z.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var e=0;e<r.length;e+=1)t.names.push({name:"name_"+e,type:"NAME",value:r[e]});return t}function t7(r,t,e){for(var n={},s=0;s<r.length;s+=1){var i=r[s],a=t[i.name];a!==void 0&&!Y4(a,i.value)&&(i.type==="SID"&&(a=e7(a,e)),n[i.op]={name:i.name,type:i.type,value:a})}return n}function n7(r,t){var e=new z.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return e.dict=t7(K4,r,t),e}function r7(r){var t=new z.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:r}],t}function os(r){var t=new z.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var e=0;e<r.length;e+=1)t.strings.push({name:"string_"+e,type:"STRING",value:r[e]});return t}function us(){return new z.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function ls(r,t){for(var e=new z.Record("Charsets",[{name:"format",type:"Card8",value:0}]),n=0;n<r.length;n+=1){var s=r[n],i=e7(s,t);e.fields.push({name:"glyph_"+n,type:"SID",value:i})}return e}function cs(r){var t=[],e=r.path;t.push({name:"width",type:"NUMBER",value:r.advanceWidth});for(var n=0,s=0,i=0;i<e.commands.length;i+=1){var a=void 0,o=void 0,u=e.commands[i];if(u.type==="Q"){var l=.3333333333333333,c=2/3;u={type:"C",x:u.x,y:u.y,x1:Math.round(l*n+c*u.x1),y1:Math.round(l*s+c*u.y1),x2:Math.round(l*u.x+c*u.x1),y2:Math.round(l*u.y+c*u.y1)}}if(u.type==="M")a=Math.round(u.x-n),o=Math.round(u.y-s),t.push({name:"dx",type:"NUMBER",value:a}),t.push({name:"dy",type:"NUMBER",value:o}),t.push({name:"rmoveto",type:"OP",value:21}),n=Math.round(u.x),s=Math.round(u.y);else if(u.type==="L")a=Math.round(u.x-n),o=Math.round(u.y-s),t.push({name:"dx",type:"NUMBER",value:a}),t.push({name:"dy",type:"NUMBER",value:o}),t.push({name:"rlineto",type:"OP",value:5}),n=Math.round(u.x),s=Math.round(u.y);else if(u.type==="C"){var h=Math.round(u.x1-n),f=Math.round(u.y1-s),_=Math.round(u.x2-u.x1),p=Math.round(u.y2-u.y1);a=Math.round(u.x-u.x2),o=Math.round(u.y-u.y2),t.push({name:"dx1",type:"NUMBER",value:h}),t.push({name:"dy1",type:"NUMBER",value:f}),t.push({name:"dx2",type:"NUMBER",value:_}),t.push({name:"dy2",type:"NUMBER",value:p}),t.push({name:"dx",type:"NUMBER",value:a}),t.push({name:"dy",type:"NUMBER",value:o}),t.push({name:"rrcurveto",type:"OP",value:8}),n=Math.round(u.x),s=Math.round(u.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}function hs(r){for(var t=new z.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),e=0;e<r.length;e+=1){var n=r.get(e),s=cs(n);t.charStrings.push({name:n.name,type:"CHARSTRING",value:s})}return t}function fs(r,t){var e=new z.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return e.dict=t7(q4,r,t),e}function ds(r,t){for(var e=new z.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"}]),n=1/t.unitsPerEm,s={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[n,0,0,n,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},i={},a=[],o,u=1;u<r.length;u+=1)o=r.get(u),a.push(o.name);var l=[];e.header=is(),e.nameIndex=as([t.postScriptName]);var c=n7(s,l);e.topDictIndex=r7(c),e.globalSubrIndex=us(),e.charsets=ls(a,l),e.charStringsIndex=hs(r),e.privateDict=fs(i,l),e.stringIndex=os(l);var h=e.header.sizeOf()+e.nameIndex.sizeOf()+e.topDictIndex.sizeOf()+e.stringIndex.sizeOf()+e.globalSubrIndex.sizeOf();return s.charset=h,s.encoding=0,s.charStrings=s.charset+e.charsets.sizeOf(),s.private[1]=s.charStrings+e.charStringsIndex.sizeOf(),c=n7(s,l),e.topDictIndex=r7(c),e}var s7={parse:ss,make:ds};function _s(r,t){var e={},n=new Y.Parser(r,t);return e.version=n.parseVersion(),e.fontRevision=Math.round(n.parseFixed()*1e3)/1e3,e.checkSumAdjustment=n.parseULong(),e.magicNumber=n.parseULong(),J.argument(e.magicNumber===1594834165,"Font header has wrong magic number."),e.flags=n.parseUShort(),e.unitsPerEm=n.parseUShort(),e.created=n.parseLongDateTime(),e.modified=n.parseLongDateTime(),e.xMin=n.parseShort(),e.yMin=n.parseShort(),e.xMax=n.parseShort(),e.yMax=n.parseShort(),e.macStyle=n.parseUShort(),e.lowestRecPPEM=n.parseUShort(),e.fontDirectionHint=n.parseShort(),e.indexToLocFormat=n.parseShort(),e.glyphDataFormat=n.parseShort(),e}function gs(r){var t=Math.round(new Date().getTime()/1e3)+2082844800,e=t;return r.createdTimestamp&&(e=r.createdTimestamp+2082844800),new z.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:e},{name:"modified",type:"LONGDATETIME",value:t},{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}],r)}var i7={parse:_s,make:gs};function Ds(r,t){var e={},n=new Y.Parser(r,t);return e.version=n.parseVersion(),e.ascender=n.parseShort(),e.descender=n.parseShort(),e.lineGap=n.parseShort(),e.advanceWidthMax=n.parseUShort(),e.minLeftSideBearing=n.parseShort(),e.minRightSideBearing=n.parseShort(),e.xMaxExtent=n.parseShort(),e.caretSlopeRise=n.parseShort(),e.caretSlopeRun=n.parseShort(),e.caretOffset=n.parseShort(),n.relativeOffset+=8,e.metricDataFormat=n.parseShort(),e.numberOfHMetrics=n.parseUShort(),e}function ps(r){return new z.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}],r)}var a7={parse:Ds,make:ps};function vs(r,t,e,n,s){for(var i,a,o=new Y.Parser(r,t),u=0;u<n;u+=1){u<e&&(i=o.parseUShort(),a=o.parseShort());var l=s.get(u);l.advanceWidth=i,l.leftSideBearing=a}}function ms(r,t,e,n,s){r._hmtxTableData={};for(var i,a,o=new Y.Parser(t,e),u=0;u<s;u+=1)u<n&&(i=o.parseUShort(),a=o.parseShort()),r._hmtxTableData[u]={advanceWidth:i,leftSideBearing:a}}function bs(r,t,e,n,s,i,a){a.lowMemory?ms(r,t,e,n,s):vs(t,e,n,s,i)}function ys(r){for(var t=new z.Table("hmtx",[]),e=0;e<r.length;e+=1){var n=r.get(e),s=n.advanceWidth||0,i=n.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+e,type:"USHORT",value:s}),t.fields.push({name:"leftSideBearing_"+e,type:"SHORT",value:i})}return t}var o7={parse:bs,make:ys};function Fs(r){for(var t=new z.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:r.length}]),e="",n=12+r.length*4,s=0;s<r.length;++s){var i=e.indexOf(r[s]);i<0&&(i=e.length,e+=r[s]),t.fields.push({name:"offset "+s,type:"USHORT",value:n+i}),t.fields.push({name:"length "+s,type:"USHORT",value:r[s].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:e}),t}function Cs(r,t){var e=new Y.Parser(r,t),n=e.parseULong();J.argument(n===1,"Unsupported ltag table version."),e.skip("uLong",1);for(var s=e.parseULong(),i=[],a=0;a<s;a++){for(var o="",u=t+e.parseUShort(),l=e.parseUShort(),c=u;c<u+l;++c)o+=String.fromCharCode(r.getInt8(c));i.push(o)}return i}var u7={make:Fs,parse:Cs};function Es(r,t){var e={},n=new Y.Parser(r,t);return e.version=n.parseVersion(),e.numGlyphs=n.parseUShort(),e.version===1&&(e.maxPoints=n.parseUShort(),e.maxContours=n.parseUShort(),e.maxCompositePoints=n.parseUShort(),e.maxCompositeContours=n.parseUShort(),e.maxZones=n.parseUShort(),e.maxTwilightPoints=n.parseUShort(),e.maxStorage=n.parseUShort(),e.maxFunctionDefs=n.parseUShort(),e.maxInstructionDefs=n.parseUShort(),e.maxStackElements=n.parseUShort(),e.maxSizeOfInstructions=n.parseUShort(),e.maxComponentElements=n.parseUShort(),e.maxComponentDepth=n.parseUShort()),e}function Ss(r){return new z.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:r}])}var l7={parse:Es,make:Ss},c7=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],h7={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"},Ts={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},f7={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 xs(r,t,e){switch(r){case 0:if(t===65535)return"und";if(e)return e[t];break;case 1:return h7[t];case 3:return f7[t]}}var w6="utf-16",Bs={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"},Os={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 d7(r,t,e){switch(r){case 0:return w6;case 1:return Os[e]||Bs[t];case 3:if(t===1||t===10)return w6;break}}function ws(r,t,e){for(var n={},s=new Y.Parser(r,t),i=s.parseUShort(),a=s.parseUShort(),o=s.offset+s.parseUShort(),u=0;u<a;u++){var l=s.parseUShort(),c=s.parseUShort(),h=s.parseUShort(),f=s.parseUShort(),_=c7[f]||f,p=s.parseUShort(),m=s.parseUShort(),v=xs(l,h,e),F=d7(l,c,h);if(F!==void 0&&v!==void 0){var E=void 0;if(F===w6?E=je.UTF16(r,o+m,p):E=je.MACSTRING(r,o+m,p,F),E){var S=n[_];S===void 0&&(S=n[_]={}),S[v]=E}}}return i===1&&s.parseUShort(),n}function A6(r){var t={};for(var e in r)t[r[e]]=parseInt(e);return t}function _7(r,t,e,n,s,i){return new z.Record("NameRecord",[{name:"platformID",type:"USHORT",value:r},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:e},{name:"nameID",type:"USHORT",value:n},{name:"length",type:"USHORT",value:s},{name:"offset",type:"USHORT",value:i}])}function As(r,t){var e=r.length,n=t.length-e+1;e:for(var s=0;s<n;s++)for(;s<n;s++){for(var i=0;i<e;i++)if(t[s+i]!==r[i])continue e;return s}return-1}function g7(r,t){var e=As(r,t);if(e<0){e=t.length;for(var n=0,s=r.length;n<s;++n)t.push(r[n])}return e}function Rs(r,t){var e,n=[],s={},i=A6(c7);for(var a in r){var o=i[a];if(o===void 0&&(o=a),e=parseInt(o),isNaN(e))throw new Error('Name table entry "'+a+'" does not exist, see nameTableNames for complete list.');s[e]=r[a],n.push(e)}for(var u=A6(h7),l=A6(f7),c=[],h=[],f=0;f<n.length;f++){e=n[f];var _=s[e];for(var p in _){var m=_[p],v=1,F=u[p],E=Ts[F],S=d7(v,E,F),B=N.MACSTRING(m,S);B===void 0&&(v=0,F=t.indexOf(p),F<0&&(F=t.length,t.push(p)),E=4,B=N.UTF16(m));var x=g7(B,h);c.push(_7(v,E,F,e,B.length,x));var w=l[p];if(w!==void 0){var O=N.UTF16(m),T=g7(O,h);c.push(_7(3,1,w,e,O.length,T))}}}c.sort(function($,M){return $.platformID-M.platformID||$.encodingID-M.encodingID||$.languageID-M.languageID||$.nameID-M.nameID});for(var R=new z.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:c.length},{name:"stringOffset",type:"USHORT",value:6+c.length*12}]),k=0;k<c.length;k++)R.fields.push({name:"record_"+k,type:"RECORD",value:c[k]});return R.fields.push({name:"strings",type:"LITERAL",value:h}),R}var D7={parse:ws,make:Rs},R6=[{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 $s(r){for(var t=0;t<R6.length;t+=1){var e=R6[t];if(r>=e.begin&&r<e.end)return t}return-1}function ks(r,t){var e={},n=new Y.Parser(r,t);e.version=n.parseUShort(),e.xAvgCharWidth=n.parseShort(),e.usWeightClass=n.parseUShort(),e.usWidthClass=n.parseUShort(),e.fsType=n.parseUShort(),e.ySubscriptXSize=n.parseShort(),e.ySubscriptYSize=n.parseShort(),e.ySubscriptXOffset=n.parseShort(),e.ySubscriptYOffset=n.parseShort(),e.ySuperscriptXSize=n.parseShort(),e.ySuperscriptYSize=n.parseShort(),e.ySuperscriptXOffset=n.parseShort(),e.ySuperscriptYOffset=n.parseShort(),e.yStrikeoutSize=n.parseShort(),e.yStrikeoutPosition=n.parseShort(),e.sFamilyClass=n.parseShort(),e.panose=[];for(var s=0;s<10;s++)e.panose[s]=n.parseByte();return e.ulUnicodeRange1=n.parseULong(),e.ulUnicodeRange2=n.parseULong(),e.ulUnicodeRange3=n.parseULong(),e.ulUnicodeRange4=n.parseULong(),e.achVendID=String.fromCharCode(n.parseByte(),n.parseByte(),n.parseByte(),n.parseByte()),e.fsSelection=n.parseUShort(),e.usFirstCharIndex=n.parseUShort(),e.usLastCharIndex=n.parseUShort(),e.sTypoAscender=n.parseShort(),e.sTypoDescender=n.parseShort(),e.sTypoLineGap=n.parseShort(),e.usWinAscent=n.parseUShort(),e.usWinDescent=n.parseUShort(),e.version>=1&&(e.ulCodePageRange1=n.parseULong(),e.ulCodePageRange2=n.parseULong()),e.version>=2&&(e.sxHeight=n.parseShort(),e.sCapHeight=n.parseShort(),e.usDefaultChar=n.parseUShort(),e.usBreakChar=n.parseUShort(),e.usMaxContent=n.parseUShort()),e}function Is(r){return new z.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}],r)}var $6={parse:ks,make:Is,unicodeRanges:R6,getUnicodeRange:$s};function Ls(r,t){var e={},n=new Y.Parser(r,t);switch(e.version=n.parseVersion(),e.italicAngle=n.parseFixed(),e.underlinePosition=n.parseShort(),e.underlineThickness=n.parseShort(),e.isFixedPitch=n.parseULong(),e.minMemType42=n.parseULong(),e.maxMemType42=n.parseULong(),e.minMemType1=n.parseULong(),e.maxMemType1=n.parseULong(),e.version){case 1:e.names=Be.slice();break;case 2:e.numberOfGlyphs=n.parseUShort(),e.glyphNameIndex=new Array(e.numberOfGlyphs);for(var s=0;s<e.numberOfGlyphs;s++)e.glyphNameIndex[s]=n.parseUShort();e.names=[];for(var i=0;i<e.numberOfGlyphs;i++)if(e.glyphNameIndex[i]>=Be.length){var a=n.parseChar();e.names.push(n.parseString(a))}break;case 2.5:e.numberOfGlyphs=n.parseUShort(),e.offset=new Array(e.numberOfGlyphs);for(var o=0;o<e.numberOfGlyphs;o++)e.offset[o]=n.parseChar();break}return e}function Ms(){return new z.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}])}var p7={parse:Ls,make:Ms},P1=new Array(9);P1[1]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:1,coverage:this.parsePointer(A.coverage),deltaGlyphId:this.parseUShort()};if(e===2)return{substFormat:2,coverage:this.parsePointer(A.coverage),substitute:this.parseOffset16List()};J.assert(!1,"0x"+t.toString(16)+": lookup type 1 format must be 1 or 2.")},P1[2]=function(){var t=this.parseUShort();return J.argument(t===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(A.coverage),sequences:this.parseListOfLists()}},P1[3]=function(){var t=this.parseUShort();return J.argument(t===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(A.coverage),alternateSets:this.parseListOfLists()}},P1[4]=function(){var t=this.parseUShort();return J.argument(t===1,"GSUB ligature table identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(A.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var Ke={sequenceIndex:A.uShort,lookupListIndex:A.uShort};P1[5]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:e,coverage:this.parsePointer(A.coverage),ruleSets:this.parseListOfLists(function(){var i=this.parseUShort(),a=this.parseUShort();return{input:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(a,Ke)}})};if(e===2)return{substFormat:e,coverage:this.parsePointer(A.coverage),classDef:this.parsePointer(A.classDef),classSets:this.parseListOfLists(function(){var i=this.parseUShort(),a=this.parseUShort();return{classes:this.parseUShortList(i-1),lookupRecords:this.parseRecordList(a,Ke)}})};if(e===3){var n=this.parseUShort(),s=this.parseUShort();return{substFormat:e,coverages:this.parseList(n,A.pointer(A.coverage)),lookupRecords:this.parseRecordList(s,Ke)}}J.assert(!1,"0x"+t.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},P1[6]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{substFormat:1,coverage:this.parsePointer(A.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Ke)}})};if(e===2)return{substFormat:2,coverage:this.parsePointer(A.coverage),backtrackClassDef:this.parsePointer(A.classDef),inputClassDef:this.parsePointer(A.classDef),lookaheadClassDef:this.parsePointer(A.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Ke)}})};if(e===3)return{substFormat:3,backtrackCoverage:this.parseList(A.pointer(A.coverage)),inputCoverage:this.parseList(A.pointer(A.coverage)),lookaheadCoverage:this.parseList(A.pointer(A.coverage)),lookupRecords:this.parseRecordList(Ke)};J.assert(!1,"0x"+t.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},P1[7]=function(){var t=this.parseUShort();J.argument(t===1,"GSUB Extension Substitution subtable identifier-format must be 1");var e=this.parseUShort(),n=new A(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:e,extension:P1[e].call(n)}},P1[8]=function(){var t=this.parseUShort();return J.argument(t===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:t,coverage:this.parsePointer(A.coverage),backtrackCoverage:this.parseList(A.pointer(A.coverage)),lookaheadCoverage:this.parseList(A.pointer(A.coverage)),substitutes:this.parseUShortList()}};function Ps(r,t){t=t||0;var e=new A(r,t),n=e.parseVersion(1);return J.argument(n===1||n===1.1,"Unsupported GSUB table version."),n===1?{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(P1)}:{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(P1),variations:e.parseFeatureVariationsList()}}var qe=new Array(9);qe[1]=function(t){return t.substFormat===1?new z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new z.Coverage(t.coverage)},{name:"deltaGlyphID",type:"USHORT",value:t.deltaGlyphId}]):new z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new z.Coverage(t.coverage)}].concat(z.ushortList("substitute",t.substitute)))},qe[2]=function(t){return J.assert(t.substFormat===1,"Lookup type 2 substFormat must be 1."),new z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new z.Coverage(t.coverage)}].concat(z.tableList("seqSet",t.sequences,function(e){return new z.Table("sequenceSetTable",z.ushortList("sequence",e))})))},qe[3]=function(t){return J.assert(t.substFormat===1,"Lookup type 3 substFormat must be 1."),new z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new z.Coverage(t.coverage)}].concat(z.tableList("altSet",t.alternateSets,function(e){return new z.Table("alternateSetTable",z.ushortList("alternate",e))})))},qe[4]=function(t){return J.assert(t.substFormat===1,"Lookup type 4 substFormat must be 1."),new z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new z.Coverage(t.coverage)}].concat(z.tableList("ligSet",t.ligatureSets,function(e){return new z.Table("ligatureSetTable",z.tableList("ligature",e,function(n){return new z.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:n.ligGlyph}].concat(z.ushortList("component",n.components,n.components.length+1)))}))})))},qe[6]=function(t){if(t.substFormat===1){var e=new z.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:t.substFormat},{name:"coverage",type:"TABLE",value:new z.Coverage(t.coverage)}].concat(z.tableList("chainRuleSet",t.chainRuleSets,function(i){return new z.Table("chainRuleSetTable",z.tableList("chainRule",i,function(a){var o=z.ushortList("backtrackGlyph",a.backtrack,a.backtrack.length).concat(z.ushortList("inputGlyph",a.input,a.input.length+1)).concat(z.ushortList("lookaheadGlyph",a.lookahead,a.lookahead.length)).concat(z.ushortList("substitution",[],a.lookupRecords.length));return a.lookupRecords.forEach(function(u,l){o=o.concat({name:"sequenceIndex"+l,type:"USHORT",value:u.sequenceIndex}).concat({name:"lookupListIndex"+l,type:"USHORT",value:u.lookupListIndex})}),new z.Table("chainRuleTable",o)}))})));return e}else if(t.substFormat===2)J.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(t.substFormat===3){var n=[{name:"substFormat",type:"USHORT",value:t.substFormat}];n.push({name:"backtrackGlyphCount",type:"USHORT",value:t.backtrackCoverage.length}),t.backtrackCoverage.forEach(function(i,a){n.push({name:"backtrackCoverage"+a,type:"TABLE",value:new z.Coverage(i)})}),n.push({name:"inputGlyphCount",type:"USHORT",value:t.inputCoverage.length}),t.inputCoverage.forEach(function(i,a){n.push({name:"inputCoverage"+a,type:"TABLE",value:new z.Coverage(i)})}),n.push({name:"lookaheadGlyphCount",type:"USHORT",value:t.lookaheadCoverage.length}),t.lookaheadCoverage.forEach(function(i,a){n.push({name:"lookaheadCoverage"+a,type:"TABLE",value:new z.Coverage(i)})}),n.push({name:"substitutionCount",type:"USHORT",value:t.lookupRecords.length}),t.lookupRecords.forEach(function(i,a){n=n.concat({name:"sequenceIndex"+a,type:"USHORT",value:i.sequenceIndex}).concat({name:"lookupListIndex"+a,type:"USHORT",value:i.lookupListIndex})});var s=new z.Table("chainContextTable",n);return s}J.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function Ns(r){return new z.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new z.ScriptList(r.scripts)},{name:"features",type:"TABLE",value:new z.FeatureList(r.features)},{name:"lookups",type:"TABLE",value:new z.LookupList(r.lookups,qe)}])}var v7={parse:Ps,make:Ns};function Us(r,t){var e=new Y.Parser(r,t),n=e.parseULong();J.argument(n===1,"Unsupported META table version."),e.parseULong(),e.parseULong();for(var s=e.parseULong(),i={},a=0;a<s;a++){var o=e.parseTag(),u=e.parseULong(),l=e.parseULong(),c=je.UTF8(r,t+u,l);i[o]=c}return i}function Hs(r){var t=Object.keys(r).length,e="",n=16+t*12,s=new z.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:n},{name:"numTags",type:"ULONG",value:t}]);for(var i in r){var a=e.length;e+=r[i],s.fields.push({name:"tag "+i,type:"TAG",value:i}),s.fields.push({name:"offset "+i,type:"ULONG",value:n+a}),s.fields.push({name:"length "+i,type:"ULONG",value:r[i].length})}return s.fields.push({name:"stringPool",type:"CHARARRAY",value:e}),s}var m7={parse:Us,make:Hs};function b7(r){return Math.log(r)/Math.log(2)|0}function k6(r){for(;r.length%4!==0;)r.push(0);for(var t=0,e=0;e<r.length;e+=4)t+=(r[e]<<24)+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];return t%=Math.pow(2,32),t}function y7(r,t,e,n){return new z.Record("Table Record",[{name:"tag",type:"TAG",value:r!==void 0?r:""},{name:"checkSum",type:"ULONG",value:t!==void 0?t:0},{name:"offset",type:"ULONG",value:e!==void 0?e:0},{name:"length",type:"ULONG",value:n!==void 0?n:0}])}function F7(r){var t=new z.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}]);t.tables=r,t.numTables=r.length;var e=Math.pow(2,b7(t.numTables));t.searchRange=16*e,t.entrySelector=b7(e),t.rangeShift=t.numTables*16-t.searchRange;for(var n=[],s=[],i=t.sizeOf()+y7().sizeOf()*t.numTables;i%4!==0;)i+=1,s.push({name:"padding",type:"BYTE",value:0});for(var a=0;a<r.length;a+=1){var o=r[a];J.argument(o.tableName.length===4,"Table name"+o.tableName+" is invalid.");var u=o.sizeOf(),l=y7(o.tableName,k6(o.encode()),i,u);for(n.push({name:l.tag+" Table Record",type:"RECORD",value:l}),s.push({name:o.tableName+" table",type:"RECORD",value:o}),i+=u,J.argument(!isNaN(i),"Something went wrong calculating the offset.");i%4!==0;)i+=1,s.push({name:"padding",type:"BYTE",value:0})}return n.sort(function(c,h){return c.value.tag>h.value.tag?1:-1}),t.fields=t.fields.concat(n),t.fields=t.fields.concat(s),t}function C7(r,t,e){for(var n=0;n<t.length;n+=1){var s=r.charToGlyphIndex(t[n]);if(s>0){var i=r.glyphs.get(s);return i.getMetrics()}}return e}function Gs(r){for(var t=0,e=0;e<r.length;e+=1)t+=r[e];return t/r.length}function zs(r){for(var t=[],e=[],n=[],s=[],i=[],a=[],o=[],u,l=0,c=0,h=0,f=0,_=0,p=0;p<r.glyphs.length;p+=1){var m=r.glyphs.get(p),v=m.unicode|0;if(isNaN(m.advanceWidth))throw new Error("Glyph "+m.name+" ("+p+"): advanceWidth is not a number.");(u>v||u===void 0)&&v>0&&(u=v),l<v&&(l=v);var F=$6.getUnicodeRange(v);if(F<32)c|=1<<F;else if(F<64)h|=1<<F-32;else if(F<96)f|=1<<F-64;else if(F<123)_|=1<<F-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(m.name!==".notdef"){var E=m.getMetrics();t.push(E.xMin),e.push(E.yMin),n.push(E.xMax),s.push(E.yMax),a.push(E.leftSideBearing),o.push(E.rightSideBearing),i.push(m.advanceWidth)}}var S={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,e),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,s),advanceWidthMax:Math.max.apply(null,i),advanceWidthAvg:Gs(i),minLeftSideBearing:Math.min.apply(null,a),maxLeftSideBearing:Math.max.apply(null,a),minRightSideBearing:Math.min.apply(null,o)};S.ascender=r.ascender,S.descender=r.descender;var B=i7.make({flags:3,unitsPerEm:r.unitsPerEm,xMin:S.xMin,yMin:S.yMin,xMax:S.xMax,yMax:S.yMax,lowestRecPPEM:3,createdTimestamp:r.createdTimestamp}),x=a7.make({ascender:S.ascender,descender:S.descender,advanceWidthMax:S.advanceWidthMax,minLeftSideBearing:S.minLeftSideBearing,minRightSideBearing:S.minRightSideBearing,xMaxExtent:S.maxLeftSideBearing+(S.xMax-S.xMin),numberOfHMetrics:r.glyphs.length}),w=l7.make(r.glyphs.length),O=$6.make(Object.assign({xAvgCharWidth:Math.round(S.advanceWidthAvg),usFirstCharIndex:u,usLastCharIndex:l,ulUnicodeRange1:c,ulUnicodeRange2:h,ulUnicodeRange3:f,ulUnicodeRange4:_,sTypoAscender:S.ascender,sTypoDescender:S.descender,sTypoLineGap:0,usWinAscent:S.yMax,usWinDescent:Math.abs(S.yMin),ulCodePageRange1:1,sxHeight:C7(r,"xyvw",{yMax:Math.round(S.ascender/2)}).yMax,sCapHeight:C7(r,"HIKLEFJMNTZBDPRAGOQSUVWXY",S).yMax,usDefaultChar:r.hasChar(" ")?32:0,usBreakChar:r.hasChar(" ")?32:0},r.tables.os2)),T=o7.make(r.glyphs),R=z4.make(r.glyphs),k=r.getEnglishName("fontFamily"),$=r.getEnglishName("fontSubfamily"),M=k+" "+$,U=r.getEnglishName("postScriptName");U||(U=k.replace(/\s/g,"")+"-"+$);var I={};for(var L in r.names)I[L]=r.names[L];I.uniqueID||(I.uniqueID={en:r.getEnglishName("manufacturer")+":"+M}),I.postScriptName||(I.postScriptName={en:U}),I.preferredFamily||(I.preferredFamily=r.names.fontFamily),I.preferredSubfamily||(I.preferredSubfamily=r.names.fontSubfamily);var H=[],X=D7.make(I,H),j=H.length>0?u7.make(H):void 0,G=p7.make(),Q=s7.make(r.glyphs,{version:r.getEnglishName("version"),fullName:M,familyName:k,weightName:$,postScriptName:U,unitsPerEm:r.unitsPerEm,fontBBox:[0,S.yMin,S.ascender,S.advanceWidthMax]}),t1=r.metas&&Object.keys(r.metas).length>0?m7.make(r.metas):void 0,n1=[B,x,w,O,X,R,G,Q,T];j&&n1.push(j),r.tables.gsub&&n1.push(v7.make(r.tables.gsub)),t1&&n1.push(t1);for(var a1=F7(n1),C1=a1.encode(),D1=k6(C1),i1=a1.fields,o1=!1,p1=0;p1<i1.length;p1+=1)if(i1[p1].name==="head table"){i1[p1].value.checkSumAdjustment=2981146554-D1,o1=!0;break}if(!o1)throw new Error("Could not find head table with checkSum to adjust.");return a1}var Xs={make:F7,fontToTable:zs,computeCheckSum:k6};function I6(r,t){for(var e=0,n=r.length-1;e<=n;){var s=e+n>>>1,i=r[s].tag;if(i===t)return s;i<t?e=s+1:n=s-1}return-e-1}function E7(r,t){for(var e=0,n=r.length-1;e<=n;){var s=e+n>>>1,i=r[s];if(i===t)return s;i<t?e=s+1:n=s-1}return-e-1}function S7(r,t){for(var e,n=0,s=r.length-1;n<=s;){var i=n+s>>>1;e=r[i];var a=e.start;if(a===t)return e;a<t?n=i+1:s=i-1}if(n>0)return e=r[n-1],t>e.end?0:e}function T2(r,t){this.font=r,this.tableName=t}T2.prototype={searchTag:I6,binSearch:E7,getTable:function(r){var t=this.font.tables[this.tableName];return!t&&r&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var r=this.getTable();return r?r.scripts.map(function(t){return t.tag}):[]},getDefaultScriptName:function(){var r=this.getTable();if(r){for(var t=!1,e=0;e<r.scripts.length;e++){var n=r.scripts[e].tag;if(n==="DFLT")return n;n==="latn"&&(t=!0)}if(t)return"latn"}},getScriptTable:function(r,t){var e=this.getTable(t);if(e){r=r||"DFLT";var n=e.scripts,s=I6(e.scripts,r);if(s>=0)return n[s].script;if(t){var i={tag:r,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-s,0,i),i.script}}},getLangSysTable:function(r,t,e){var n=this.getScriptTable(r,e);if(n){if(!t||t==="dflt"||t==="DFLT")return n.defaultLangSys;var s=I6(n.langSysRecords,t);if(s>=0)return n.langSysRecords[s].langSys;if(e){var i={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-s,0,i),i.langSys}}},getFeatureTable:function(r,t,e,n){var s=this.getLangSysTable(r,t,n);if(s){for(var i,a=s.featureIndexes,o=this.font.tables[this.tableName].features,u=0;u<a.length;u++)if(i=o[a[u]],i.tag===e)return i.feature;if(n){var l=o.length;return J.assert(l===0||e>=o[l-1].tag,"Features must be added in alphabetical order."),i={tag:e,feature:{params:0,lookupListIndexes:[]}},o.push(i),a.push(l),i.feature}}},getLookupTables:function(r,t,e,n,s){var i=this.getFeatureTable(r,t,e,s),a=[];if(i){for(var o,u=i.lookupListIndexes,l=this.font.tables[this.tableName].lookups,c=0;c<u.length;c++)o=l[u[c]],o.lookupType===n&&a.push(o);if(a.length===0&&s){o={lookupType:n,lookupFlag:0,subtables:[],markFilteringSet:void 0};var h=l.length;return l.push(o),u.push(h),[o]}}return a},getGlyphClass:function(r,t){switch(r.format){case 1:return r.startGlyph<=t&&t<r.startGlyph+r.classes.length?r.classes[t-r.startGlyph]:0;case 2:var e=S7(r.ranges,t);return e?e.classId:0}},getCoverageIndex:function(r,t){switch(r.format){case 1:var e=E7(r.glyphs,t);return e>=0?e:-1;case 2:var n=S7(r.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(r){if(r.format===1)return r.glyphs;for(var t=[],e=r.ranges,n=0;n<e.length;n++)for(var s=e[n],i=s.start,a=s.end,o=i;o<=a;o++)t.push(o);return t}};function x2(r){T2.call(this,r,"gpos")}x2.prototype=T2.prototype,x2.prototype.init=function(){var r=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(r)},x2.prototype.getKerningValue=function(r,t,e){for(var n=0;n<r.length;n++)for(var s=r[n].subtables,i=0;i<s.length;i++){var a=s[i],o=this.getCoverageIndex(a.coverage,t);if(!(o<0))switch(a.posFormat){case 1:for(var u=a.pairSets[o],l=0;l<u.length;l++){var c=u[l];if(c.secondGlyph===e)return c.value1&&c.value1.xAdvance||0}break;case 2:var h=this.getGlyphClass(a.classDef1,t),f=this.getGlyphClass(a.classDef2,e),_=a.classRecords[h][f];return _.value1&&_.value1.xAdvance||0}}return 0},x2.prototype.getKerningTables=function(r,t){if(this.font.tables.gpos)return this.getLookupTables(r,t,"kern",2)};function k1(r){T2.call(this,r,"gsub")}function Ws(r,t){var e=r.length;if(e!==t.length)return!1;for(var n=0;n<e;n++)if(r[n]!==t[n])return!1;return!0}function L6(r,t,e){for(var n=r.subtables,s=0;s<n.length;s++){var i=n[s];if(i.substFormat===t)return i}if(e)return n.push(e),e}k1.prototype=T2.prototype,k1.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},k1.prototype.getSingle=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,1),i=0;i<s.length;i++)for(var a=s[i].subtables,o=0;o<a.length;o++){var u=a[o],l=this.expandCoverage(u.coverage),c=void 0;if(u.substFormat===1){var h=u.deltaGlyphId;for(c=0;c<l.length;c++){var f=l[c];n.push({sub:f,by:f+h})}}else{var _=u.substitute;for(c=0;c<l.length;c++)n.push({sub:l[c],by:_[c]})}}return n},k1.prototype.getMultiple=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,2),i=0;i<s.length;i++)for(var a=s[i].subtables,o=0;o<a.length;o++){var u=a[o],l=this.expandCoverage(u.coverage),c=void 0;for(c=0;c<l.length;c++){var h=l[c],f=u.sequences[c];n.push({sub:h,by:f})}}return n},k1.prototype.getAlternates=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,3),i=0;i<s.length;i++)for(var a=s[i].subtables,o=0;o<a.length;o++)for(var u=a[o],l=this.expandCoverage(u.coverage),c=u.alternateSets,h=0;h<l.length;h++)n.push({sub:l[h],by:c[h]});return n},k1.prototype.getLigatures=function(r,t,e){for(var n=[],s=this.getLookupTables(t,e,r,4),i=0;i<s.length;i++)for(var a=s[i].subtables,o=0;o<a.length;o++)for(var u=a[o],l=this.expandCoverage(u.coverage),c=u.ligatureSets,h=0;h<l.length;h++)for(var f=l[h],_=c[h],p=0;p<_.length;p++){var m=_[p];n.push({sub:[f].concat(m.components),by:m.ligGlyph})}return n},k1.prototype.addSingle=function(r,t,e,n){var s=this.getLookupTables(e,n,r,1,!0)[0],i=L6(s,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});J.assert(i.coverage.format===1,"Single: unable to modify coverage table format "+i.coverage.format);var a=t.sub,o=this.binSearch(i.coverage.glyphs,a);o<0&&(o=-1-o,i.coverage.glyphs.splice(o,0,a),i.substitute.splice(o,0,0)),i.substitute[o]=t.by},k1.prototype.addMultiple=function(r,t,e,n){J.assert(t.by instanceof Array&&t.by.length>1,'Multiple: "by" must be an array of two or more ids');var s=this.getLookupTables(e,n,r,2,!0)[0],i=L6(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});J.assert(i.coverage.format===1,"Multiple: unable to modify coverage table format "+i.coverage.format);var a=t.sub,o=this.binSearch(i.coverage.glyphs,a);o<0&&(o=-1-o,i.coverage.glyphs.splice(o,0,a),i.sequences.splice(o,0,0)),i.sequences[o]=t.by},k1.prototype.addAlternate=function(r,t,e,n){var s=this.getLookupTables(e,n,r,3,!0)[0],i=L6(s,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});J.assert(i.coverage.format===1,"Alternate: unable to modify coverage table format "+i.coverage.format);var a=t.sub,o=this.binSearch(i.coverage.glyphs,a);o<0&&(o=-1-o,i.coverage.glyphs.splice(o,0,a),i.alternateSets.splice(o,0,0)),i.alternateSets[o]=t.by},k1.prototype.addLigature=function(r,t,e,n){var s=this.getLookupTables(e,n,r,4,!0)[0],i=s.subtables[0];i||(i={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},s.subtables[0]=i),J.assert(i.coverage.format===1,"Ligature: unable to modify coverage table format "+i.coverage.format);var a=t.sub[0],o=t.sub.slice(1),u={ligGlyph:t.by,components:o},l=this.binSearch(i.coverage.glyphs,a);if(l>=0){for(var c=i.ligatureSets[l],h=0;h<c.length;h++)if(Ws(c[h].components,o))return;c.push(u)}else l=-1-l,i.coverage.glyphs.splice(l,0,a),i.ligatureSets.splice(l,0,[u])},k1.prototype.getFeature=function(r,t,e){if(/ss\d\d/.test(r))return this.getSingle(r,t,e);switch(r){case"aalt":case"salt":return this.getSingle(r,t,e).concat(this.getAlternates(r,t,e));case"dlig":case"liga":case"rlig":return this.getLigatures(r,t,e);case"ccmp":return this.getMultiple(r,t,e).concat(this.getLigatures(r,t,e));case"stch":return this.getMultiple(r,t,e)}},k1.prototype.add=function(r,t,e,n){if(/ss\d\d/.test(r))return this.addSingle(r,t,e,n);switch(r){case"aalt":case"salt":return typeof t.by=="number"?this.addSingle(r,t,e,n):this.addAlternate(r,t,e,n);case"dlig":case"liga":case"rlig":return this.addLigature(r,t,e,n);case"ccmp":return t.by instanceof Array?this.addMultiple(r,t,e,n):this.addLigature(r,t,e,n)}};function Ys(){return typeof window<"u"}function T7(r){for(var t=new ArrayBuffer(r.length),e=new Uint8Array(t),n=0;n<r.length;++n)e[n]=r[n];return t}function Vs(r){for(var t=new Buffer(r.byteLength),e=new Uint8Array(r),n=0;n<t.length;++n)t[n]=e[n];return t}function B2(r,t){if(!r)throw t}function x7(r,t,e,n,s){var i;return(t&n)>0?(i=r.parseByte(),t&s||(i=-i),i=e+i):(t&s)>0?i=e:i=e+r.parseShort(),i}function B7(r,t,e){var n=new Y.Parser(t,e);r.numberOfContours=n.parseShort(),r._xMin=n.parseShort(),r._yMin=n.parseShort(),r._xMax=n.parseShort(),r._yMax=n.parseShort();var s,i;if(r.numberOfContours>0){for(var a=r.endPointIndices=[],o=0;o<r.numberOfContours;o+=1)a.push(n.parseUShort());r.instructionLength=n.parseUShort(),r.instructions=[];for(var u=0;u<r.instructionLength;u+=1)r.instructions.push(n.parseByte());var l=a[a.length-1]+1;s=[];for(var c=0;c<l;c+=1)if(i=n.parseByte(),s.push(i),(i&8)>0)for(var h=n.parseByte(),f=0;f<h;f+=1)s.push(i),c+=1;if(J.argument(s.length===l,"Bad flags."),a.length>0){var _=[],p;if(l>0){for(var m=0;m<l;m+=1)i=s[m],p={},p.onCurve=!!(i&1),p.lastPointOfContour=a.indexOf(m)>=0,_.push(p);for(var v=0,F=0;F<l;F+=1)i=s[F],p=_[F],p.x=x7(n,i,v,2,16),v=p.x;for(var E=0,S=0;S<l;S+=1)i=s[S],p=_[S],p.y=x7(n,i,E,4,32),E=p.y}r.points=_}else r.points=[]}else if(r.numberOfContours===0)r.points=[];else{r.isComposite=!0,r.points=[],r.components=[];for(var B=!0;B;){s=n.parseUShort();var x={glyphIndex:n.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(s&1)>0?(s&2)>0?(x.dx=n.parseShort(),x.dy=n.parseShort()):x.matchedPoints=[n.parseUShort(),n.parseUShort()]:(s&2)>0?(x.dx=n.parseChar(),x.dy=n.parseChar()):x.matchedPoints=[n.parseByte(),n.parseByte()],(s&8)>0?x.xScale=x.yScale=n.parseF2Dot14():(s&64)>0?(x.xScale=n.parseF2Dot14(),x.yScale=n.parseF2Dot14()):(s&128)>0&&(x.xScale=n.parseF2Dot14(),x.scale01=n.parseF2Dot14(),x.scale10=n.parseF2Dot14(),x.yScale=n.parseF2Dot14()),r.components.push(x),B=!!(s&32)}if(s&256){r.instructionLength=n.parseUShort(),r.instructions=[];for(var w=0;w<r.instructionLength;w+=1)r.instructions.push(n.parseByte())}}}function M6(r,t){for(var e=[],n=0;n<r.length;n+=1){var s=r[n],i={x:t.xScale*s.x+t.scale01*s.y+t.dx,y:t.scale10*s.x+t.yScale*s.y+t.dy,onCurve:s.onCurve,lastPointOfContour:s.lastPointOfContour};e.push(i)}return e}function js(r){for(var t=[],e=[],n=0;n<r.length;n+=1){var s=r[n];e.push(s),s.lastPointOfContour&&(t.push(e),e=[])}return J.argument(e.length===0,"There are still points left in the current contour."),t}function O7(r){var t=new _1;if(!r)return t;for(var e=js(r),n=0;n<e.length;++n){var s=e[n],i=null,a=s[s.length-1],o=s[0];if(a.onCurve)t.moveTo(a.x,a.y);else if(o.onCurve)t.moveTo(o.x,o.y);else{var u={x:(a.x+o.x)*.5,y:(a.y+o.y)*.5};t.moveTo(u.x,u.y)}for(var l=0;l<s.length;++l)if(i=a,a=o,o=s[(l+1)%s.length],a.onCurve)t.lineTo(a.x,a.y);else{var c=o;i.onCurve||((a.x+i.x)*.5,(a.y+i.y)*.5),o.onCurve||(c={x:(a.x+o.x)*.5,y:(a.y+o.y)*.5}),t.quadraticCurveTo(a.x,a.y,c.x,c.y)}t.closePath()}return t}function w7(r,t){if(t.isComposite)for(var e=0;e<t.components.length;e+=1){var n=t.components[e],s=r.get(n.glyphIndex);if(s.getPath(),s.points){var i=void 0;if(n.matchedPoints===void 0)i=M6(s.points,n);else{if(n.matchedPoints[0]>t.points.length-1||n.matchedPoints[1]>s.points.length-1)throw Error("Matched points out of range in "+t.name);var a=t.points[n.matchedPoints[0]],o=s.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};o=M6([o],u)[0],u.dx=a.x-o.x,u.dy=a.y-o.y,i=M6(s.points,u)}t.points=t.points.concat(i)}}return O7(t.points)}function Ks(r,t,e,n){for(var s=new J1.GlyphSet(n),i=0;i<e.length-1;i+=1){var a=e[i],o=e[i+1];a!==o?s.push(i,J1.ttfGlyphLoader(n,i,B7,r,t+a,w7)):s.push(i,J1.glyphLoader(n,i))}return s}function qs(r,t,e,n){var s=new J1.GlyphSet(n);return n._push=function(i){var a=e[i],o=e[i+1];a!==o?s.push(i,J1.ttfGlyphLoader(n,i,B7,r,t+a,w7)):s.push(i,J1.glyphLoader(n,i))},s}function Zs(r,t,e,n,s){return s.lowMemory?qs(r,t,e,n):Ks(r,t,e,n)}var A7={getPath:O7,parse:Zs},R7,we,$7,P6;function k7(r){this.font=r,this.getCommands=function(t){return A7.getPath(t).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function Js(r){return r}function I7(r){return Math.sign(r)*Math.round(Math.abs(r))}function Qs(r){return Math.sign(r)*Math.round(Math.abs(r*2))/2}function e9(r){return Math.sign(r)*(Math.round(Math.abs(r)+.5)-.5)}function t9(r){return Math.sign(r)*Math.ceil(Math.abs(r))}function n9(r){return Math.sign(r)*Math.floor(Math.abs(r))}var L7=function(r){var t=this.srPeriod,e=this.srPhase,n=this.srThreshold,s=1;return r<0&&(r=-r,s=-1),r+=n-e,r=Math.trunc(r/t)*t,r+=e,r<0?e*s:r*s},Q1={x:1,y:0,axis:"x",distance:function(r,t,e,n){return(e?r.xo:r.x)-(n?t.xo:t.x)},interpolate:function(r,t,e,n){var s,i,a,o,u,l,c;if(!n||n===this){if(s=r.xo-t.xo,i=r.xo-e.xo,u=t.x-t.xo,l=e.x-e.xo,a=Math.abs(s),o=Math.abs(i),c=a+o,c===0){r.x=r.xo+(u+l)/2;return}r.x=r.xo+(u*o+l*a)/c;return}if(s=n.distance(r,t,!0,!0),i=n.distance(r,e,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(e,e,!1,!0),a=Math.abs(s),o=Math.abs(i),c=a+o,c===0){Q1.setRelative(r,r,(u+l)/2,n,!0);return}Q1.setRelative(r,r,(u*o+l*a)/c,n,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(r,t,e,n,s){if(!n||n===this){r.x=(s?t.xo:t.x)+e;return}var i=s?t.xo:t.x,a=s?t.yo:t.y,o=i+e*n.x,u=a+e*n.y;r.x=o+(r.y-u)/n.normalSlope},slope:0,touch:function(r){r.xTouched=!0},touched:function(r){return r.xTouched},untouch:function(r){r.xTouched=!1}},se={x:0,y:1,axis:"y",distance:function(r,t,e,n){return(e?r.yo:r.y)-(n?t.yo:t.y)},interpolate:function(r,t,e,n){var s,i,a,o,u,l,c;if(!n||n===this){if(s=r.yo-t.yo,i=r.yo-e.yo,u=t.y-t.yo,l=e.y-e.yo,a=Math.abs(s),o=Math.abs(i),c=a+o,c===0){r.y=r.yo+(u+l)/2;return}r.y=r.yo+(u*o+l*a)/c;return}if(s=n.distance(r,t,!0,!0),i=n.distance(r,e,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(e,e,!1,!0),a=Math.abs(s),o=Math.abs(i),c=a+o,c===0){se.setRelative(r,r,(u+l)/2,n,!0);return}se.setRelative(r,r,(u*o+l*a)/c,n,!0)},normalSlope:0,setRelative:function(r,t,e,n,s){if(!n||n===this){r.y=(s?t.yo:t.y)+e;return}var i=s?t.xo:t.x,a=s?t.yo:t.y,o=i+e*n.x,u=a+e*n.y;r.y=u+n.normalSlope*(r.x-o)},slope:Number.POSITIVE_INFINITY,touch:function(r){r.yTouched=!0},touched:function(r){return r.yTouched},untouch:function(r){r.yTouched=!1}};Object.freeze(Q1),Object.freeze(se);function O2(r,t){this.x=r,this.y=t,this.axis=void 0,this.slope=t/r,this.normalSlope=-r/t,Object.freeze(this)}O2.prototype.distance=function(r,t,e,n){return this.x*Q1.distance(r,t,e,n)+this.y*se.distance(r,t,e,n)},O2.prototype.interpolate=function(r,t,e,n){var s,i,a,o,u,l,c;if(a=n.distance(r,t,!0,!0),o=n.distance(r,e,!0,!0),s=n.distance(t,t,!1,!0),i=n.distance(e,e,!1,!0),u=Math.abs(a),l=Math.abs(o),c=u+l,c===0){this.setRelative(r,r,(s+i)/2,n,!0);return}this.setRelative(r,r,(s*l+i*u)/c,n,!0)},O2.prototype.setRelative=function(r,t,e,n,s){n=n||this;var i=s?t.xo:t.x,a=s?t.yo:t.y,o=i+e*n.x,u=a+e*n.y,l=n.normalSlope,c=this.slope,h=r.x,f=r.y;r.x=(c*h-l*o+u-f)/(c-l),r.y=c*(r.x-h)+f},O2.prototype.touch=function(r){r.xTouched=!0,r.yTouched=!0};function w2(r,t){var e=Math.sqrt(r*r+t*t);return r/=e,t/=e,r===1&&t===0?Q1:r===0&&t===1?se:new O2(r,t)}function ie(r,t,e,n){this.x=this.xo=Math.round(r*64)/64,this.y=this.yo=Math.round(t*64)/64,this.lastPointOfContour=e,this.onCurve=n,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}ie.prototype.nextTouched=function(r){for(var t=this.nextPointOnContour;!r.touched(t)&&t!==this;)t=t.nextPointOnContour;return t},ie.prototype.prevTouched=function(r){for(var t=this.prevPointOnContour;!r.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};var A2=Object.freeze(new ie(0,0)),r9={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function ge(r,t){switch(this.env=r,this.stack=[],this.prog=t,r){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=Q1,this.round=I7}}k7.prototype.exec=function(r,t){if(typeof t!="number")throw new Error("Point size is not a number!");if(!(this._errorState>2)){var e=this.font,n=this._prepState;if(!n||n.ppem!==t){var s=this._fpgmState;if(!s){ge.prototype=r9,s=this._fpgmState=new ge("fpgm",e.tables.fpgm),s.funcs=[],s.font=e,y.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{we(s)}catch(l){console.log("Hinting error in FPGM:"+l),this._errorState=3;return}}ge.prototype=s,n=this._prepState=new ge("prep",e.tables.prep),n.ppem=t;var i=e.tables.cvt;if(i)for(var a=n.cvt=new Array(i.length),o=t/e.unitsPerEm,u=0;u<i.length;u++)a[u]=i[u]*o;else n.cvt=[];y.DEBUG&&(console.log("---EXEC PREP---"),n.step=-1);try{we(n)}catch(l){this._errorState<2&&console.log("Hinting error in PREP:"+l),this._errorState=2}}if(!(this._errorState>1))try{return $7(r,n)}catch(l){this._errorState<1&&(console.log("Hinting error:"+l),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}},$7=function(r,t){var e=t.ppem/t.font.unitsPerEm,n=e,s=r.components,i,a,o;if(ge.prototype=t,!s)o=new ge("glyf",r.instructions),y.DEBUG&&(console.log("---EXEC GLYPH---"),o.step=-1),P6(r,o,e,n),a=o.gZone;else{var u=t.font;a=[],i=[];for(var l=0;l<s.length;l++){var c=s[l],h=u.glyphs.get(c.glyphIndex);o=new ge("glyf",h.instructions),y.DEBUG&&(console.log("---EXEC COMP "+l+"---"),o.step=-1),P6(h,o,e,n);for(var f=Math.round(c.dx*e),_=Math.round(c.dy*n),p=o.gZone,m=o.contours,v=0;v<p.length;v++){var F=p[v];F.xTouched=F.yTouched=!1,F.xo=F.x=F.x+f,F.yo=F.y=F.y+_}var E=a.length;a.push.apply(a,p);for(var S=0;S<m.length;S++)i.push(m[S]+E)}r.instructions&&!o.inhibitGridFit&&(o=new ge("glyf",r.instructions),o.gZone=o.z0=o.z1=o.z2=a,o.contours=i,a.push(new ie(0,0),new ie(Math.round(r.advanceWidth*e),0)),y.DEBUG&&(console.log("---EXEC COMPOSITE---"),o.step=-1),we(o),a.length-=2)}return a},P6=function(r,t,e,n){for(var s=r.points||[],i=s.length,a=t.gZone=t.z0=t.z1=t.z2=[],o=t.contours=[],u,l=0;l<i;l++)u=s[l],a[l]=new ie(u.x*e,u.y*n,u.lastPointOfContour,u.onCurve);for(var c,h,f=0;f<i;f++)u=a[f],c||(c=u,o.push(f)),u.lastPointOfContour?(u.nextPointOnContour=c,c.prevPointOnContour=u,c=void 0):(h=a[f+1],u.nextPointOnContour=h,h.prevPointOnContour=u);if(!t.inhibitGridFit){if(y.DEBUG){console.log("PROCESSING GLYPH",t.stack);for(var _=0;_<i;_++)console.log(_,a[_].x,a[_].y)}if(a.push(new ie(0,0),new ie(Math.round(r.advanceWidth*e),0)),we(t),a.length-=2,y.DEBUG){console.log("FINISHED GLYPH",t.stack);for(var p=0;p<i;p++)console.log(p,a[p].x,a[p].y)}}},we=function(r){var t=r.prog;if(t){var e=t.length,n;for(r.ip=0;r.ip<e;r.ip++){if(y.DEBUG&&r.step++,n=R7[t[r.ip]],!n)throw new Error("unknown instruction: 0x"+Number(t[r.ip]).toString(16));n(r)}}};function ft(r){for(var t=r.tZone=new Array(r.gZone.length),e=0;e<t.length;e++)t[e]=new ie(0,0)}function M7(r,t){var e=r.prog,n=r.ip,s=1,i;do if(i=e[++n],i===88)s++;else if(i===89)s--;else if(i===64)n+=e[n+1]+1;else if(i===65)n+=2*e[n+1]+1;else if(i>=176&&i<=183)n+=i-176+1;else if(i>=184&&i<=191)n+=(i-184+1)*2;else if(t&&s===1&&i===27)break;while(s>0);r.ip=n}function P7(r,t){y.DEBUG&&console.log(t.step,"SVTCA["+r.axis+"]"),t.fv=t.pv=t.dpv=r}function N7(r,t){y.DEBUG&&console.log(t.step,"SPVTCA["+r.axis+"]"),t.pv=t.dpv=r}function U7(r,t){y.DEBUG&&console.log(t.step,"SFVTCA["+r.axis+"]"),t.fv=r}function H7(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],a=t.z1[s];y.DEBUG&&console.log("SPVTL["+r+"]",n,s);var o,u;r?(o=i.y-a.y,u=a.x-i.x):(o=a.x-i.x,u=a.y-i.y),t.pv=t.dpv=w2(o,u)}function G7(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],a=t.z1[s];y.DEBUG&&console.log("SFVTL["+r+"]",n,s);var o,u;r?(o=i.y-a.y,u=a.x-i.x):(o=a.x-i.x,u=a.y-i.y),t.fv=w2(o,u)}function s9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"SPVFS[]",e,n),r.pv=r.dpv=w2(n,e)}function i9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"SPVFS[]",e,n),r.fv=w2(n,e)}function a9(r){var t=r.stack,e=r.pv;y.DEBUG&&console.log(r.step,"GPV[]"),t.push(e.x*16384),t.push(e.y*16384)}function o9(r){var t=r.stack,e=r.fv;y.DEBUG&&console.log(r.step,"GFV[]"),t.push(e.x*16384),t.push(e.y*16384)}function u9(r){r.fv=r.pv,y.DEBUG&&console.log(r.step,"SFVTPV[]")}function l9(r){var t=r.stack,e=t.pop(),n=t.pop(),s=t.pop(),i=t.pop(),a=t.pop(),o=r.z0,u=r.z1,l=o[e],c=o[n],h=u[s],f=u[i],_=r.z2[a];y.DEBUG&&console.log("ISECT[], ",e,n,s,i,a);var p=l.x,m=l.y,v=c.x,F=c.y,E=h.x,S=h.y,B=f.x,x=f.y,w=(p-v)*(S-x)-(m-F)*(E-B),O=p*F-m*v,T=E*x-S*B;_.x=(O*(E-B)-T*(p-v))/w,_.y=(O*(S-x)-T*(m-F))/w}function c9(r){r.rp0=r.stack.pop(),y.DEBUG&&console.log(r.step,"SRP0[]",r.rp0)}function h9(r){r.rp1=r.stack.pop(),y.DEBUG&&console.log(r.step,"SRP1[]",r.rp1)}function f9(r){r.rp2=r.stack.pop(),y.DEBUG&&console.log(r.step,"SRP2[]",r.rp2)}function d9(r){var t=r.stack.pop();switch(y.DEBUG&&console.log(r.step,"SZP0[]",t),r.zp0=t,t){case 0:r.tZone||ft(r),r.z0=r.tZone;break;case 1:r.z0=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function _9(r){var t=r.stack.pop();switch(y.DEBUG&&console.log(r.step,"SZP1[]",t),r.zp1=t,t){case 0:r.tZone||ft(r),r.z1=r.tZone;break;case 1:r.z1=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function g9(r){var t=r.stack.pop();switch(y.DEBUG&&console.log(r.step,"SZP2[]",t),r.zp2=t,t){case 0:r.tZone||ft(r),r.z2=r.tZone;break;case 1:r.z2=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function D9(r){var t=r.stack.pop();switch(y.DEBUG&&console.log(r.step,"SZPS[]",t),r.zp0=r.zp1=r.zp2=t,t){case 0:r.tZone||ft(r),r.z0=r.z1=r.z2=r.tZone;break;case 1:r.z0=r.z1=r.z2=r.gZone;break;default:throw new Error("Invalid zone pointer")}}function p9(r){r.loop=r.stack.pop(),y.DEBUG&&console.log(r.step,"SLOOP[]",r.loop)}function v9(r){y.DEBUG&&console.log(r.step,"RTG[]"),r.round=I7}function m9(r){y.DEBUG&&console.log(r.step,"RTHG[]"),r.round=e9}function b9(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"SMD[]",t),r.minDis=t/64}function y9(r){y.DEBUG&&console.log(r.step,"ELSE[]"),M7(r,!1)}function F9(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"JMPR[]",t),r.ip+=t-1}function C9(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"SCVTCI[]",t),r.cvCutIn=t/64}function E9(r){var t=r.stack;y.DEBUG&&console.log(r.step,"DUP[]"),t.push(t[t.length-1])}function N6(r){y.DEBUG&&console.log(r.step,"POP[]"),r.stack.pop()}function S9(r){y.DEBUG&&console.log(r.step,"CLEAR[]"),r.stack.length=0}function T9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"SWAP[]"),t.push(e),t.push(n)}function x9(r){var t=r.stack;y.DEBUG&&console.log(r.step,"DEPTH[]"),t.push(t.length)}function B9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"LOOPCALL[]",e,n);var s=r.ip,i=r.prog;r.prog=r.funcs[e];for(var a=0;a<n;a++)we(r),y.DEBUG&&console.log(++r.step,a+1<n?"next loopcall":"done loopcall",a);r.ip=s,r.prog=i}function O9(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"CALL[]",t);var e=r.ip,n=r.prog;r.prog=r.funcs[t],we(r),r.ip=e,r.prog=n,y.DEBUG&&console.log(++r.step,"returning from",t)}function w9(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"CINDEX[]",e),t.push(t[t.length-e])}function A9(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"MINDEX[]",e),t.push(t.splice(t.length-e,1)[0])}function R9(r){if(r.env!=="fpgm")throw new Error("FDEF not allowed here");var t=r.stack,e=r.prog,n=r.ip,s=t.pop(),i=n;for(y.DEBUG&&console.log(r.step,"FDEF[]",s);e[++n]!==45;);r.ip=n,r.funcs[s]=e.slice(i+1,n)}function z7(r,t){var e=t.stack.pop(),n=t.z0[e],s=t.fv,i=t.pv;y.DEBUG&&console.log(t.step,"MDAP["+r+"]",e);var a=i.distance(n,A2);r&&(a=t.round(a)),s.setRelative(n,A2,a,i),s.touch(n),t.rp0=t.rp1=e}function X7(r,t){var e=t.z2,n=e.length-2,s,i,a;y.DEBUG&&console.log(t.step,"IUP["+r.axis+"]");for(var o=0;o<n;o++)s=e[o],!r.touched(s)&&(i=s.prevTouched(r),i!==s&&(a=s.nextTouched(r),i===a&&r.setRelative(s,s,r.distance(i,i,!1,!0),r,!0),r.interpolate(s,i,a,r)))}function W7(r,t){for(var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,a=t.pv,o=t.loop,u=t.z2;o--;){var l=e.pop(),c=u[l],h=a.distance(s,s,!1,!0);i.setRelative(c,c,h,a),i.touch(c),y.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-o)+": ":"")+"SHP["+(r?"rp1":"rp2")+"]",l)}t.loop=1}function Y7(r,t){var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,a=t.pv,o=e.pop(),u=t.z2[t.contours[o]],l=u;y.DEBUG&&console.log(t.step,"SHC["+r+"]",o);var c=a.distance(s,s,!1,!0);do l!==s&&i.setRelative(l,l,c,a),l=l.nextPointOnContour;while(l!==u)}function V7(r,t){var e=t.stack,n=r?t.rp1:t.rp2,s=(r?t.z0:t.z1)[n],i=t.fv,a=t.pv,o=e.pop();y.DEBUG&&console.log(t.step,"SHZ["+r+"]",o);var u;switch(o){case 0:u=t.tZone;break;case 1:u=t.gZone;break;default:throw new Error("Invalid zone")}for(var l,c=a.distance(s,s,!1,!0),h=u.length-2,f=0;f<h;f++)l=u[f],i.setRelative(l,l,c,a)}function $9(r){for(var t=r.stack,e=r.loop,n=r.fv,s=t.pop()/64,i=r.z2;e--;){var a=t.pop(),o=i[a];y.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-e)+": ":"")+"SHPIX[]",a,s),n.setRelative(o,o,s),n.touch(o)}r.loop=1}function k9(r){for(var t=r.stack,e=r.rp1,n=r.rp2,s=r.loop,i=r.z0[e],a=r.z1[n],o=r.fv,u=r.dpv,l=r.z2;s--;){var c=t.pop(),h=l[c];y.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-s)+": ":"")+"IP[]",c,e,"<->",n),o.interpolate(h,i,a,u),o.touch(h)}r.loop=1}function j7(r,t){var e=t.stack,n=e.pop()/64,s=e.pop(),i=t.z1[s],a=t.z0[t.rp0],o=t.fv,u=t.pv;o.setRelative(i,a,n,u),o.touch(i),y.DEBUG&&console.log(t.step,"MSIRP["+r+"]",n,s),t.rp1=t.rp0,t.rp2=s,r&&(t.rp0=s)}function I9(r){for(var t=r.stack,e=r.rp0,n=r.z0[e],s=r.loop,i=r.fv,a=r.pv,o=r.z1;s--;){var u=t.pop(),l=o[u];y.DEBUG&&console.log(r.step,(r.loop>1?"loop "+(r.loop-s)+": ":"")+"ALIGNRP[]",u),i.setRelative(l,n,0,a),i.touch(l)}r.loop=1}function L9(r){y.DEBUG&&console.log(r.step,"RTDG[]"),r.round=Qs}function K7(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z0[s],a=t.fv,o=t.pv,u=t.cvt[n];y.DEBUG&&console.log(t.step,"MIAP["+r+"]",n,"(",u,")",s);var l=o.distance(i,A2);r&&(Math.abs(l-u)<t.cvCutIn&&(l=u),l=t.round(l)),a.setRelative(i,A2,l,o),t.zp0===0&&(i.xo=i.x,i.yo=i.y),a.touch(i),t.rp0=t.rp1=s}function M9(r){var t=r.prog,e=r.ip,n=r.stack,s=t[++e];y.DEBUG&&console.log(r.step,"NPUSHB[]",s);for(var i=0;i<s;i++)n.push(t[++e]);r.ip=e}function P9(r){var t=r.ip,e=r.prog,n=r.stack,s=e[++t];y.DEBUG&&console.log(r.step,"NPUSHW[]",s);for(var i=0;i<s;i++){var a=e[++t]<<8|e[++t];a&32768&&(a=-((a^65535)+1)),n.push(a)}r.ip=t}function N9(r){var t=r.stack,e=r.store;e||(e=r.store=[]);var n=t.pop(),s=t.pop();y.DEBUG&&console.log(r.step,"WS",n,s),e[s]=n}function U9(r){var t=r.stack,e=r.store,n=t.pop();y.DEBUG&&console.log(r.step,"RS",n);var s=e&&e[n]||0;t.push(s)}function H9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"WCVTP",e,n),r.cvt[n]=e/64}function G9(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"RCVT",e),t.push(r.cvt[e]*64)}function q7(r,t){var e=t.stack,n=e.pop(),s=t.z2[n];y.DEBUG&&console.log(t.step,"GC["+r+"]",n),e.push(t.dpv.distance(s,A2,r,!1)*64)}function Z7(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z1[n],a=t.z0[s],o=t.dpv.distance(a,i,r,r);y.DEBUG&&console.log(t.step,"MD["+r+"]",n,s,"->",o),t.stack.push(Math.round(o*64))}function z9(r){y.DEBUG&&console.log(r.step,"MPPEM[]"),r.stack.push(r.ppem)}function X9(r){y.DEBUG&&console.log(r.step,"FLIPON[]"),r.autoFlip=!0}function W9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"LT[]",e,n),t.push(n<e?1:0)}function Y9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"LTEQ[]",e,n),t.push(n<=e?1:0)}function V9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"GT[]",e,n),t.push(n>e?1:0)}function j9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"GTEQ[]",e,n),t.push(n>=e?1:0)}function K9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"EQ[]",e,n),t.push(e===n?1:0)}function q9(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"NEQ[]",e,n),t.push(e!==n?1:0)}function Z9(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"ODD[]",e),t.push(Math.trunc(e)%2?1:0)}function J9(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"EVEN[]",e),t.push(Math.trunc(e)%2?0:1)}function Q9(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"IF[]",t),t||(M7(r,!0),y.DEBUG&&console.log(r.step,"EIF[]"))}function ei(r){y.DEBUG&&console.log(r.step,"EIF[]")}function ti(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"AND[]",e,n),t.push(e&&n?1:0)}function ni(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"OR[]",e,n),t.push(e||n?1:0)}function ri(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"NOT[]",e),t.push(e?0:1)}function U6(r,t){var e=t.stack,n=e.pop(),s=t.fv,i=t.pv,a=t.ppem,o=t.deltaBase+(r-1)*16,u=t.deltaShift,l=t.z0;y.DEBUG&&console.log(t.step,"DELTAP["+r+"]",n,e);for(var c=0;c<n;c++){var h=e.pop(),f=e.pop(),_=o+((f&240)>>4);if(_===a){var p=(f&15)-8;p>=0&&p++,y.DEBUG&&console.log(t.step,"DELTAPFIX",h,"by",p*u);var m=l[h];s.setRelative(m,m,p*u,i)}}}function si(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"SDB[]",e),r.deltaBase=e}function ii(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"SDS[]",e),r.deltaShift=Math.pow(.5,e)}function ai(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"ADD[]",e,n),t.push(n+e)}function oi(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"SUB[]",e,n),t.push(n-e)}function ui(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"DIV[]",e,n),t.push(n*64/e)}function li(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"MUL[]",e,n),t.push(n*e/64)}function ci(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"ABS[]",e),t.push(Math.abs(e))}function hi(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"NEG[]",e),t.push(-e)}function fi(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"FLOOR[]",e),t.push(Math.floor(e/64)*64)}function di(r){var t=r.stack,e=t.pop();y.DEBUG&&console.log(r.step,"CEILING[]",e),t.push(Math.ceil(e/64)*64)}function dt(r,t){var e=t.stack,n=e.pop();y.DEBUG&&console.log(t.step,"ROUND[]"),e.push(t.round(n/64)*64)}function _i(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"WCVTF[]",e,n),r.cvt[n]=e*r.ppem/r.font.unitsPerEm}function H6(r,t){var e=t.stack,n=e.pop(),s=t.ppem,i=t.deltaBase+(r-1)*16,a=t.deltaShift;y.DEBUG&&console.log(t.step,"DELTAC["+r+"]",n,e);for(var o=0;o<n;o++){var u=e.pop(),l=e.pop(),c=i+((l&240)>>4);if(c===s){var h=(l&15)-8;h>=0&&h++;var f=h*a;y.DEBUG&&console.log(t.step,"DELTACFIX",u,"by",f),t.cvt[u]+=f}}}function gi(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"SROUND[]",t),r.round=L7;var e;switch(t&192){case 0:e=.5;break;case 64:e=1;break;case 128:e=2;break;default:throw new Error("invalid SROUND value")}switch(r.srPeriod=e,t&48){case 0:r.srPhase=0;break;case 16:r.srPhase=.25*e;break;case 32:r.srPhase=.5*e;break;case 48:r.srPhase=.75*e;break;default:throw new Error("invalid SROUND value")}t&=15,t===0?r.srThreshold=0:r.srThreshold=(t/8-.5)*e}function Di(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"S45ROUND[]",t),r.round=L7;var e;switch(t&192){case 0:e=Math.sqrt(2)/2;break;case 64:e=Math.sqrt(2);break;case 128:e=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(r.srPeriod=e,t&48){case 0:r.srPhase=0;break;case 16:r.srPhase=.25*e;break;case 32:r.srPhase=.5*e;break;case 48:r.srPhase=.75*e;break;default:throw new Error("invalid S45ROUND value")}t&=15,t===0?r.srThreshold=0:r.srThreshold=(t/8-.5)*e}function pi(r){y.DEBUG&&console.log(r.step,"ROFF[]"),r.round=Js}function vi(r){y.DEBUG&&console.log(r.step,"RUTG[]"),r.round=t9}function mi(r){y.DEBUG&&console.log(r.step,"RDTG[]"),r.round=n9}function bi(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"SCANCTRL[]",t)}function J7(r,t){var e=t.stack,n=e.pop(),s=e.pop(),i=t.z2[n],a=t.z1[s];y.DEBUG&&console.log(t.step,"SDPVTL["+r+"]",n,s);var o,u;r?(o=i.y-a.y,u=a.x-i.x):(o=a.x-i.x,u=a.y-i.y),t.dpv=w2(o,u)}function yi(r){var t=r.stack,e=t.pop(),n=0;y.DEBUG&&console.log(r.step,"GETINFO[]",e),e&1&&(n=35),e&32&&(n|=4096),t.push(n)}function Fi(r){var t=r.stack,e=t.pop(),n=t.pop(),s=t.pop();y.DEBUG&&console.log(r.step,"ROLL[]"),t.push(n),t.push(e),t.push(s)}function Ci(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"MAX[]",e,n),t.push(Math.max(n,e))}function Ei(r){var t=r.stack,e=t.pop(),n=t.pop();y.DEBUG&&console.log(r.step,"MIN[]",e,n),t.push(Math.min(n,e))}function Si(r){var t=r.stack.pop();y.DEBUG&&console.log(r.step,"SCANTYPE[]",t)}function Ti(r){var t=r.stack.pop(),e=r.stack.pop();switch(y.DEBUG&&console.log(r.step,"INSTCTRL[]",t,e),t){case 1:r.inhibitGridFit=!!e;return;case 2:r.ignoreCvt=!!e;return;default:throw new Error("invalid INSTCTRL[] selector")}}function De(r,t){var e=t.stack,n=t.prog,s=t.ip;y.DEBUG&&console.log(t.step,"PUSHB["+r+"]");for(var i=0;i<r;i++)e.push(n[++s]);t.ip=s}function pe(r,t){var e=t.ip,n=t.prog,s=t.stack;y.DEBUG&&console.log(t.ip,"PUSHW["+r+"]");for(var i=0;i<r;i++){var a=n[++e]<<8|n[++e];a&32768&&(a=-((a^65535)+1)),s.push(a)}t.ip=e}function V(r,t,e,n,s,i){var a=i.stack,o=r&&a.pop(),u=a.pop(),l=i.rp0,c=i.z0[l],h=i.z1[u],f=i.minDis,_=i.fv,p=i.dpv,m,v,F,E;v=m=p.distance(h,c,!0,!0),F=v>=0?1:-1,v=Math.abs(v),r&&(E=i.cvt[o],n&&Math.abs(v-E)<i.cvCutIn&&(v=E)),e&&v<f&&(v=f),n&&(v=i.round(v)),_.setRelative(h,c,F*v,p),_.touch(h),y.DEBUG&&console.log(i.step,(r?"MIRP[":"MDRP[")+(t?"M":"m")+(e?">":"_")+(n?"R":"_")+(s===0?"Gr":s===1?"Bl":s===2?"Wh":"")+"]",r?o+"("+i.cvt[o]+","+E+")":"",u,"(d =",m,"->",F*v,")"),i.rp1=i.rp0,i.rp2=u,t&&(i.rp0=u)}R7=[P7.bind(void 0,se),P7.bind(void 0,Q1),N7.bind(void 0,se),N7.bind(void 0,Q1),U7.bind(void 0,se),U7.bind(void 0,Q1),H7.bind(void 0,0),H7.bind(void 0,1),G7.bind(void 0,0),G7.bind(void 0,1),s9,i9,a9,o9,u9,l9,c9,h9,f9,d9,_9,g9,D9,p9,v9,m9,b9,y9,F9,C9,void 0,void 0,E9,N6,S9,T9,x9,w9,A9,void 0,void 0,void 0,B9,O9,R9,void 0,z7.bind(void 0,0),z7.bind(void 0,1),X7.bind(void 0,se),X7.bind(void 0,Q1),W7.bind(void 0,0),W7.bind(void 0,1),Y7.bind(void 0,0),Y7.bind(void 0,1),V7.bind(void 0,0),V7.bind(void 0,1),$9,k9,j7.bind(void 0,0),j7.bind(void 0,1),I9,L9,K7.bind(void 0,0),K7.bind(void 0,1),M9,P9,N9,U9,H9,G9,q7.bind(void 0,0),q7.bind(void 0,1),void 0,Z7.bind(void 0,0),Z7.bind(void 0,1),z9,void 0,X9,void 0,void 0,W9,Y9,V9,j9,K9,q9,Z9,J9,Q9,ei,ti,ni,ri,U6.bind(void 0,1),si,ii,ai,oi,ui,li,ci,hi,fi,di,dt.bind(void 0,0),dt.bind(void 0,1),dt.bind(void 0,2),dt.bind(void 0,3),void 0,void 0,void 0,void 0,_i,U6.bind(void 0,2),U6.bind(void 0,3),H6.bind(void 0,1),H6.bind(void 0,2),H6.bind(void 0,3),gi,Di,void 0,void 0,pi,void 0,vi,mi,N6,N6,void 0,void 0,void 0,void 0,void 0,bi,J7.bind(void 0,0),J7.bind(void 0,1),yi,void 0,Fi,Ci,Ei,Si,Ti,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,De.bind(void 0,1),De.bind(void 0,2),De.bind(void 0,3),De.bind(void 0,4),De.bind(void 0,5),De.bind(void 0,6),De.bind(void 0,7),De.bind(void 0,8),pe.bind(void 0,1),pe.bind(void 0,2),pe.bind(void 0,3),pe.bind(void 0,4),pe.bind(void 0,5),pe.bind(void 0,6),pe.bind(void 0,7),pe.bind(void 0,8),V.bind(void 0,0,0,0,0,0),V.bind(void 0,0,0,0,0,1),V.bind(void 0,0,0,0,0,2),V.bind(void 0,0,0,0,0,3),V.bind(void 0,0,0,0,1,0),V.bind(void 0,0,0,0,1,1),V.bind(void 0,0,0,0,1,2),V.bind(void 0,0,0,0,1,3),V.bind(void 0,0,0,1,0,0),V.bind(void 0,0,0,1,0,1),V.bind(void 0,0,0,1,0,2),V.bind(void 0,0,0,1,0,3),V.bind(void 0,0,0,1,1,0),V.bind(void 0,0,0,1,1,1),V.bind(void 0,0,0,1,1,2),V.bind(void 0,0,0,1,1,3),V.bind(void 0,0,1,0,0,0),V.bind(void 0,0,1,0,0,1),V.bind(void 0,0,1,0,0,2),V.bind(void 0,0,1,0,0,3),V.bind(void 0,0,1,0,1,0),V.bind(void 0,0,1,0,1,1),V.bind(void 0,0,1,0,1,2),V.bind(void 0,0,1,0,1,3),V.bind(void 0,0,1,1,0,0),V.bind(void 0,0,1,1,0,1),V.bind(void 0,0,1,1,0,2),V.bind(void 0,0,1,1,0,3),V.bind(void 0,0,1,1,1,0),V.bind(void 0,0,1,1,1,1),V.bind(void 0,0,1,1,1,2),V.bind(void 0,0,1,1,1,3),V.bind(void 0,1,0,0,0,0),V.bind(void 0,1,0,0,0,1),V.bind(void 0,1,0,0,0,2),V.bind(void 0,1,0,0,0,3),V.bind(void 0,1,0,0,1,0),V.bind(void 0,1,0,0,1,1),V.bind(void 0,1,0,0,1,2),V.bind(void 0,1,0,0,1,3),V.bind(void 0,1,0,1,0,0),V.bind(void 0,1,0,1,0,1),V.bind(void 0,1,0,1,0,2),V.bind(void 0,1,0,1,0,3),V.bind(void 0,1,0,1,1,0),V.bind(void 0,1,0,1,1,1),V.bind(void 0,1,0,1,1,2),V.bind(void 0,1,0,1,1,3),V.bind(void 0,1,1,0,0,0),V.bind(void 0,1,1,0,0,1),V.bind(void 0,1,1,0,0,2),V.bind(void 0,1,1,0,0,3),V.bind(void 0,1,1,0,1,0),V.bind(void 0,1,1,0,1,1),V.bind(void 0,1,1,0,1,2),V.bind(void 0,1,1,0,1,3),V.bind(void 0,1,1,1,0,0),V.bind(void 0,1,1,1,0,1),V.bind(void 0,1,1,1,0,2),V.bind(void 0,1,1,1,0,3),V.bind(void 0,1,1,1,1,0),V.bind(void 0,1,1,1,1,1),V.bind(void 0,1,1,1,1,2),V.bind(void 0,1,1,1,1,3)];function Ze(r){this.char=r,this.state={},this.activeState=null}function G6(r,t,e){this.contextName=e,this.startIndex=r,this.endOffset=t}function xi(r,t,e){this.contextName=r,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=e}function N1(r,t){this.context=r,this.index=t,this.length=r.length,this.current=r[t],this.backtrack=r.slice(0,t),this.lookahead=r.slice(t+1)}function _t(r){this.eventId=r,this.subscribers=[]}function Bi(r){var t=this,e=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];e.forEach(function(s){Object.defineProperty(t.events,s,{value:new _t(s)})}),r&&e.forEach(function(s){var i=r[s];typeof i=="function"&&t.events[s].subscribe(i)});var n=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];n.forEach(function(s){t.events[s].subscribe(t.updateContextsRanges)})}function c1(r){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Bi.call(this,r)}Ze.prototype.setState=function(r,t){return this.state[r]=t,this.activeState={key:r,value:this.state[r]},this.activeState},Ze.prototype.getState=function(r){return this.state[r]||null},c1.prototype.inboundIndex=function(r){return r>=0&&r<this.tokens.length},c1.prototype.composeRUD=function(r){var t=this,e=!0,n=r.map(function(i){return t[i[0]].apply(t,i.slice(1).concat(e))}),s=function(i){return typeof i=="object"&&i.hasOwnProperty("FAIL")};if(n.every(s))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:n.filter(s)};this.dispatch("composeRUD",[n.filter(function(i){return!s(i)})])},c1.prototype.replaceRange=function(r,t,e,n){t=t!==null?t:this.tokens.length;var s=e.every(function(a){return a instanceof Ze});if(!isNaN(r)&&this.inboundIndex(r)&&s){var i=this.tokens.splice.apply(this.tokens,[r,t].concat(e));return n||this.dispatch("replaceToken",[r,t,e]),[i,e]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}},c1.prototype.replaceToken=function(r,t,e){if(!isNaN(r)&&this.inboundIndex(r)&&t instanceof Ze){var n=this.tokens.splice(r,1,t);return e||this.dispatch("replaceToken",[r,t]),[n[0],t]}else return{FAIL:"replaceToken: invalid token or index."}},c1.prototype.removeRange=function(r,t,e){t=isNaN(t)?this.tokens.length:t;var n=this.tokens.splice(r,t);return e||this.dispatch("removeRange",[n,r,t]),n},c1.prototype.removeToken=function(r,t){if(!isNaN(r)&&this.inboundIndex(r)){var e=this.tokens.splice(r,1);return t||this.dispatch("removeToken",[e,r]),e}else return{FAIL:"removeToken: invalid token index."}},c1.prototype.insertToken=function(r,t,e){var n=r.every(function(s){return s instanceof Ze});return n?(this.tokens.splice.apply(this.tokens,[t,0].concat(r)),e||this.dispatch("insertToken",[r,t]),r):{FAIL:"insertToken: invalid token(s)."}},c1.prototype.registerModifier=function(r,t,e){this.events.newToken.subscribe(function(n,s){var i=[n,s],a=t===null||t.apply(this,i)===!0,o=[n,s];if(a){var u=e.apply(this,o);n.setState(r,u)}}),this.registeredModifiers.push(r)},_t.prototype.subscribe=function(r){return typeof r=="function"?this.subscribers.push(r)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}},_t.prototype.unsubscribe=function(r){this.subscribers.splice(r,1)},N1.prototype.setCurrentIndex=function(r){this.index=r,this.current=this.context[r],this.backtrack=this.context.slice(0,r),this.lookahead=this.context.slice(r+1)},N1.prototype.get=function(r){switch(!0){case r===0:return this.current;case(r<0&&Math.abs(r)<=this.backtrack.length):return this.backtrack.slice(r)[0];case(r>0&&r<=this.lookahead.length):return this.lookahead[r-1];default:return null}},c1.prototype.rangeToText=function(r){if(r instanceof G6)return this.getRangeTokens(r).map(function(t){return t.char}).join("")},c1.prototype.getText=function(){return this.tokens.map(function(r){return r.char}).join("")},c1.prototype.getContext=function(r){var t=this.registeredContexts[r];return t||null},c1.prototype.on=function(r,t){var e=this.events[r];return e?e.subscribe(t):null},c1.prototype.dispatch=function(r,t){var e=this,n=this.events[r];n instanceof _t&&n.subscribers.forEach(function(s){s.apply(e,t||[])})},c1.prototype.registerContextChecker=function(r,t,e){if(this.getContext(r))return{FAIL:"context name '"+r+"' is already registered."};if(typeof t!="function")return{FAIL:"missing context start check."};if(typeof e!="function")return{FAIL:"missing context end check."};var n=new xi(r,t,e);return this.registeredContexts[r]=n,this.contextCheckers.push(n),n},c1.prototype.getRangeTokens=function(r){var t=r.startIndex+r.endOffset;return[].concat(this.tokens.slice(r.startIndex,t))},c1.prototype.getContextRanges=function(r){var t=this.getContext(r);return t?t.ranges:{FAIL:"context checker '"+r+"' is not registered."}},c1.prototype.resetContextsRanges=function(){var r=this.registeredContexts;for(var t in r)if(r.hasOwnProperty(t)){var e=r[t];e.ranges=[]}},c1.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var r=this.tokens.map(function(n){return n.char}),t=0;t<r.length;t++){var e=new N1(r,t);this.runContextCheck(e)}this.dispatch("updateContextsRanges",[this.registeredContexts])},c1.prototype.setEndOffset=function(r,t){var e=this.getContext(t).openRange.startIndex,n=new G6(e,r,t),s=this.getContext(t).ranges;return n.rangeId=t+"."+s.length,s.push(n),this.getContext(t).openRange=null,n},c1.prototype.runContextCheck=function(r){var t=this,e=r.index;this.contextCheckers.forEach(function(n){var s=n.contextName,i=t.getContext(s).openRange;if(!i&&n.checkStart(r)&&(i=new G6(e,null,s),t.getContext(s).openRange=i,t.dispatch("contextStart",[s,e])),i&&n.checkEnd(r)){var a=e-i.startIndex+1,o=t.setEndOffset(a,s);t.dispatch("contextEnd",[s,o])}})},c1.prototype.tokenize=function(r){this.tokens=[],this.resetContextsRanges();var t=Array.from(r);this.dispatch("start");for(var e=0;e<t.length;e++){var n=t[e],s=new N1(t,e);this.dispatch("next",[s]),this.runContextCheck(s);var i=new Ze(n);this.tokens.push(i),this.dispatch("newToken",[i,s])}return this.dispatch("end",[this.tokens]),this.tokens};function ve(r){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(r)}function Q7(r){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(r)}function me(r){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(r)}function gt(r){return/[A-z]/.test(r)}function Oi(r){return/\s/.test(r)}function I1(r){this.font=r,this.features={}}function Ae(r){this.id=r.id,this.tag=r.tag,this.substitution=r.substitution}function R2(r,t){if(!r)return-1;switch(t.format){case 1:return t.glyphs.indexOf(r);case 2:for(var e=t.ranges,n=0;n<e.length;n++){var s=e[n];if(r>=s.start&&r<=s.end){var i=r-s.start;return s.index+i}}break;default:return-1}return-1}function wi(r,t){var e=R2(r,t.coverage);return e===-1?null:r+t.deltaGlyphId}function Ai(r,t){var e=R2(r,t.coverage);return e===-1?null:t.substitute[e]}function z6(r,t){for(var e=[],n=0;n<r.length;n++){var s=r[n],i=t.current;i=Array.isArray(i)?i[0]:i;var a=R2(i,s);a!==-1&&e.push(a)}return e.length!==r.length?-1:e}function Ri(r,t){var e=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(r.context.length<e)return[];var n=z6(t.inputCoverage,r);if(n===-1)return[];var s=t.inputCoverage.length-1;if(r.lookahead.length<t.lookaheadCoverage.length)return[];for(var i=r.lookahead.slice(s);i.length&&me(i[0].char);)i.shift();var a=new N1(i,0),o=z6(t.lookaheadCoverage,a),u=[].concat(r.backtrack);for(u.reverse();u.length&&me(u[0].char);)u.shift();if(u.length<t.backtrackCoverage.length)return[];var l=new N1(u,0),c=z6(t.backtrackCoverage,l),h=n.length===t.inputCoverage.length&&o.length===t.lookaheadCoverage.length&&c.length===t.backtrackCoverage.length,f=[];if(h)for(var _=0;_<t.lookupRecords.length;_++)for(var p=t.lookupRecords[_],m=p.lookupListIndex,v=this.getLookupByIndex(m),F=0;F<v.subtables.length;F++){var E=v.subtables[F],S=this.getLookupMethod(v,E),B=this.getSubstitutionType(v,E);if(B==="12")for(var x=0;x<n.length;x++){var w=r.get(x),O=S(w);O&&f.push(O)}}return f}function $i(r,t){var e=r.current,n=R2(e,t.coverage);if(n===-1)return null;for(var s,i=t.ligatureSets[n],a=0;a<i.length;a++){s=i[a];for(var o=0;o<s.components.length;o++){var u=r.lookahead[o],l=s.components[o];if(u!==l)break;if(o===s.components.length-1)return s}}return null}function ki(r,t){var e=R2(r,t.coverage);return e===-1?null:t.sequences[e]}I1.prototype.getDefaultScriptFeaturesIndexes=function(){for(var r=this.font.tables.gsub.scripts,t=0;t<r.length;t++){var e=r[t];if(e.tag==="DFLT")return e.script.defaultLangSys.featureIndexes}return[]},I1.prototype.getScriptFeaturesIndexes=function(r){var t=this.font.tables;if(!t.gsub)return[];if(!r)return this.getDefaultScriptFeaturesIndexes();for(var e=this.font.tables.gsub.scripts,n=0;n<e.length;n++){var s=e[n];if(s.tag===r&&s.script.defaultLangSys)return s.script.defaultLangSys.featureIndexes;var i=s.langSysRecords;if(i)for(var a=0;a<i.length;a++){var o=i[a];if(o.tag===r){var u=o.langSys;return u.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()},I1.prototype.mapTagsToFeatures=function(r,t){for(var e={},n=0;n<r.length;n++){var s=r[n].tag,i=r[n].feature;e[s]=i}this.features[t].tags=e},I1.prototype.getScriptFeatures=function(r){var t=this.features[r];if(this.features.hasOwnProperty(r))return t;var e=this.getScriptFeaturesIndexes(r);if(!e)return null;var n=this.font.tables.gsub;return t=e.map(function(s){return n.features[s]}),this.features[r]=t,this.mapTagsToFeatures(t,r),t},I1.prototype.getSubstitutionType=function(r,t){var e=r.lookupType.toString(),n=t.substFormat.toString();return e+n},I1.prototype.getLookupMethod=function(r,t){var e=this,n=this.getSubstitutionType(r,t);switch(n){case"11":return function(s){return wi.apply(e,[s,t])};case"12":return function(s){return Ai.apply(e,[s,t])};case"63":return function(s){return Ri.apply(e,[s,t])};case"41":return function(s){return $i.apply(e,[s,t])};case"21":return function(s){return ki.apply(e,[s,t])};default:throw new Error("lookupType: "+r.lookupType+" - substFormat: "+t.substFormat+" is not yet supported")}},I1.prototype.lookupFeature=function(r){var t=r.contextParams,e=t.index,n=this.getFeature({tag:r.tag,script:r.script});if(!n)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+r.tag+"' for script '"+r.script+"'.");for(var s=this.getFeatureLookups(n),i=[].concat(t.context),a=0;a<s.length;a++)for(var o=s[a],u=this.getLookupSubtables(o),l=0;l<u.length;l++){var c=u[l],h=this.getSubstitutionType(o,c),f=this.getLookupMethod(o,c),_=void 0;switch(h){case"11":_=f(t.current),_&&i.splice(e,1,new Ae({id:11,tag:r.tag,substitution:_}));break;case"12":_=f(t.current),_&&i.splice(e,1,new Ae({id:12,tag:r.tag,substitution:_}));break;case"63":_=f(t),Array.isArray(_)&&_.length&&i.splice(e,1,new Ae({id:63,tag:r.tag,substitution:_}));break;case"41":_=f(t),_&&i.splice(e,1,new Ae({id:41,tag:r.tag,substitution:_}));break;case"21":_=f(t.current),_&&i.splice(e,1,new Ae({id:21,tag:r.tag,substitution:_}));break}t=new N1(i,e),!(Array.isArray(_)&&!_.length)&&(_=null)}return i.length?i:null},I1.prototype.supports=function(r){if(!r.script)return!1;this.getScriptFeatures(r.script);var t=this.features.hasOwnProperty(r.script);if(!r.tag)return t;var e=this.features[r.script].some(function(n){return n.tag===r.tag});return t&&e},I1.prototype.getLookupSubtables=function(r){return r.subtables||null},I1.prototype.getLookupByIndex=function(r){var t=this.font.tables.gsub.lookups;return t[r]||null},I1.prototype.getFeatureLookups=function(r){return r.lookupListIndexes.map(this.getLookupByIndex.bind(this))},I1.prototype.getFeature=function(t){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(t.script)||this.getScriptFeatures(t.script);var e=this.features[t.script];return e?e.tags[t.tag]?this.features[t.script].tags[t.tag]:null:{FAIL:"No feature for script "+t.script}};function Ii(r){var t=r.current,e=r.get(-1);return e===null&&ve(t)||!ve(e)&&ve(t)}function Li(r){var t=r.get(1);return t===null||!ve(t)}var Mi={startCheck:Ii,endCheck:Li};function Pi(r){var t=r.current,e=r.get(-1);return(ve(t)||me(t))&&!ve(e)}function Ni(r){var t=r.get(1);switch(!0){case t===null:return!0;case(!ve(t)&&!me(t)):var e=Oi(t);if(!e)return!0;if(e){var n=!1;if(n=r.lookahead.some(function(s){return ve(s)||me(s)}),!n)return!0}break;default:return!1}}var Ui={startCheck:Pi,endCheck:Ni};function Hi(r,t,e){t[e].setState(r.tag,r.substitution)}function Gi(r,t,e){t[e].setState(r.tag,r.substitution)}function zi(r,t,e){r.substitution.forEach(function(n,s){var i=t[e+s];i.setState(r.tag,n)})}function Xi(r,t,e){var n=t[e];n.setState(r.tag,r.substitution.ligGlyph);for(var s=r.substitution.components.length,i=0;i<s;i++)n=t[e+i+1],n.setState("deleted",!0)}var en={11:Hi,12:Gi,63:zi,41:Xi};function X6(r,t,e){r instanceof Ae&&en[r.id]&&en[r.id](r,t,e)}function Wi(r){for(var t=[].concat(r.backtrack),e=t.length-1;e>=0;e--){var n=t[e],s=Q7(n),i=me(n);if(!s&&!i)return!0;if(s)return!1}return!1}function Yi(r){if(Q7(r.current))return!1;for(var t=0;t<r.lookahead.length;t++){var e=r.lookahead[t],n=me(e);if(!n)return!0}return!1}function Vi(r){var t=this,e="arab",n=this.featuresTags[e],s=this.tokenizer.getRangeTokens(r);if(s.length!==1){var i=new N1(s.map(function(o){return o.getState("glyphIndex")}),0),a=new N1(s.map(function(o){return o.char}),0);s.forEach(function(o,u){if(!me(o.char)){i.setCurrentIndex(u),a.setCurrentIndex(u);var l=0;Wi(a)&&(l|=1),Yi(a)&&(l|=2);var c;switch(l){case 1:c="fina";break;case 2:c="init";break;case 3:c="medi";break}if(n.indexOf(c)!==-1){var h=t.query.lookupFeature({tag:c,script:e,contextParams:i});if(h instanceof Error)return console.info(h.message);h.forEach(function(f,_){f instanceof Ae&&(X6(f,s,_),i.context[_]=f.substitution)})}}})}}function tn(r,t){var e=r.map(function(n){return n.activeState.value});return new N1(e,t||0)}function ji(r){var t=this,e="arab",n=this.tokenizer.getRangeTokens(r),s=tn(n);s.context.forEach(function(i,a){s.setCurrentIndex(a);var o=t.query.lookupFeature({tag:"rlig",script:e,contextParams:s});o.length&&(o.forEach(function(u){return X6(u,n,a)}),s=tn(n))})}function Ki(r){var t=r.current,e=r.get(-1);return e===null&>(t)||!gt(e)&>(t)}function qi(r){var t=r.get(1);return t===null||!gt(t)}var Zi={startCheck:Ki,endCheck:qi};function nn(r,t){var e=r.map(function(n){return n.activeState.value});return new N1(e,t||0)}function Ji(r){var t=this,e="latn",n=this.tokenizer.getRangeTokens(r),s=nn(n);s.context.forEach(function(i,a){s.setCurrentIndex(a);var o=t.query.lookupFeature({tag:"liga",script:e,contextParams:s});o.length&&(o.forEach(function(u){return X6(u,n,a)}),s=nn(n))})}function U1(r){this.baseDir=r||"ltr",this.tokenizer=new c1,this.featuresTags={}}U1.prototype.setText=function(r){this.text=r},U1.prototype.contextChecks={latinWordCheck:Zi,arabicWordCheck:Mi,arabicSentenceCheck:Ui};function W6(r){var t=this.contextChecks[r+"Check"];return this.tokenizer.registerContextChecker(r,t.startCheck,t.endCheck)}function Qi(){return W6.call(this,"latinWord"),W6.call(this,"arabicWord"),W6.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function e5(){var r=this,t=this.tokenizer.getContextRanges("arabicSentence");t.forEach(function(e){var n=r.tokenizer.getRangeTokens(e);r.tokenizer.replaceRange(e.startIndex,e.endOffset,n.reverse())})}U1.prototype.registerFeatures=function(r,t){var e=this,n=t.filter(function(s){return e.query.supports({script:r,tag:s})});this.featuresTags.hasOwnProperty(r)?this.featuresTags[r]=this.featuresTags[r].concat(n):this.featuresTags[r]=n},U1.prototype.applyFeatures=function(r,t){if(!r)throw new Error("No valid font was provided to apply features");this.query||(this.query=new I1(r));for(var e=0;e<t.length;e++){var n=t[e];this.query.supports({script:n.script})&&this.registerFeatures(n.script,n.tags)}},U1.prototype.registerModifier=function(r,t,e){this.tokenizer.registerModifier(r,t,e)};function Y6(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function t5(){var r=this,t="arab";if(this.featuresTags.hasOwnProperty(t)){Y6.call(this);var e=this.tokenizer.getContextRanges("arabicWord");e.forEach(function(n){Vi.call(r,n)})}}function n5(){var r=this,t="arab";if(this.featuresTags.hasOwnProperty(t)){var e=this.featuresTags[t];if(e.indexOf("rlig")!==-1){Y6.call(this);var n=this.tokenizer.getContextRanges("arabicWord");n.forEach(function(s){ji.call(r,s)})}}}function r5(){var r=this,t="latn";if(this.featuresTags.hasOwnProperty(t)){var e=this.featuresTags[t];if(e.indexOf("liga")!==-1){Y6.call(this);var n=this.tokenizer.getContextRanges("latinWord");n.forEach(function(s){Ji.call(r,s)})}}}U1.prototype.checkContextReady=function(r){return!!this.tokenizer.getContext(r)},U1.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(t5.call(this),n5.call(this)),this.checkContextReady("latinWord")&&r5.call(this),this.checkContextReady("arabicSentence")&&e5.call(this)},U1.prototype.processText=function(r){(!this.text||this.text!==r)&&(this.setText(r),Qi.call(this),this.applyFeaturesToContexts())},U1.prototype.getBidiText=function(r){return this.processText(r),this.tokenizer.getText()},U1.prototype.getTextGlyphs=function(r){this.processText(r);for(var t=[],e=0;e<this.tokenizer.tokens.length;e++){var n=this.tokenizer.tokens[e];if(!n.state.deleted){var s=n.activeState.value;t.push(Array.isArray(s)?s[0]:s)}}return t};function s1(r){r=r||{},r.tables=r.tables||{},r.empty||(B2(r.familyName,"When creating a new Font object, familyName is required."),B2(r.styleName,"When creating a new Font object, styleName is required."),B2(r.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),B2(r.ascender,"When creating a new Font object, ascender is required."),B2(r.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:r.familyName||" "},fontSubfamily:{en:r.styleName||" "},fullName:{en:r.fullName||r.familyName+" "+r.styleName},postScriptName:{en:r.postScriptName||(r.familyName+r.styleName).replace(/\s/g,"")},designer:{en:r.designer||" "},designerURL:{en:r.designerURL||" "},manufacturer:{en:r.manufacturer||" "},manufacturerURL:{en:r.manufacturerURL||" "},license:{en:r.license||" "},licenseURL:{en:r.licenseURL||" "},version:{en:r.version||"Version 0.1"},description:{en:r.description||" "},copyright:{en:r.copyright||" "},trademark:{en:r.trademark||" "}},this.unitsPerEm=r.unitsPerEm||1e3,this.ascender=r.ascender,this.descender=r.descender,this.createdTimestamp=r.createdTimestamp,this.tables=Object.assign(r.tables,{os2:Object.assign({usWeightClass:r.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:r.widthClass||this.usWidthClasses.MEDIUM,fsSelection:r.fsSelection||this.fsSelectionValues.REGULAR},r.tables.os2)})),this.supported=!0,this.glyphs=new J1.GlyphSet(this,r.glyphs||[]),this.encoding=new X4(this),this.position=new x2(this),this.substitution=new k1(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){if(this._hinting)return this._hinting;if(this.outlinesFormat==="truetype")return this._hinting=new k7(this)}})}s1.prototype.hasChar=function(r){return this.encoding.charToGlyphIndex(r)!==null},s1.prototype.charToGlyphIndex=function(r){return this.encoding.charToGlyphIndex(r)},s1.prototype.charToGlyph=function(r){var t=this.charToGlyphIndex(r),e=this.glyphs.get(t);return e||(e=this.glyphs.get(0)),e},s1.prototype.updateFeatures=function(r){return this.defaultRenderOptions.features.map(function(t){return t.script==="latn"?{script:"latn",tags:t.tags.filter(function(e){return r[e]})}:t})},s1.prototype.stringToGlyphs=function(r,t){var e=this,n=new U1,s=function(h){return e.charToGlyphIndex(h.char)};n.registerModifier("glyphIndex",null,s);var i=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;n.applyFeatures(this,i);for(var a=n.getTextGlyphs(r),o=a.length,u=new Array(o),l=this.glyphs.get(0),c=0;c<o;c+=1)u[c]=this.glyphs.get(a[c])||l;return u},s1.prototype.nameToGlyphIndex=function(r){return this.glyphNames.nameToGlyphIndex(r)},s1.prototype.nameToGlyph=function(r){var t=this.nameToGlyphIndex(r),e=this.glyphs.get(t);return e||(e=this.glyphs.get(0)),e},s1.prototype.glyphIndexToName=function(r){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(r):""},s1.prototype.getKerningValue=function(r,t){r=r.index||r,t=t.index||t;var e=this.position.defaultKerningTables;return e?this.position.getKerningValue(e,r,t):this.kerningPairs[r+","+t]||0},s1.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},s1.prototype.forEachGlyph=function(r,t,e,n,s,i){t=t!==void 0?t:0,e=e!==void 0?e:0,n=n!==void 0?n:72,s=Object.assign({},this.defaultRenderOptions,s);var a=1/this.unitsPerEm*n,o=this.stringToGlyphs(r,s),u;if(s.kerning){var l=s.script||this.position.getDefaultScriptName();u=this.position.getKerningTables(l,s.language)}for(var c=0;c<o.length;c+=1){var h=o[c];if(i.call(this,h,t,e,n,s),h.advanceWidth&&(t+=h.advanceWidth*a),s.kerning&&c<o.length-1){var f=u?this.position.getKerningValue(u,h.index,o[c+1].index):this.getKerningValue(h,o[c+1]);t+=f*a}s.letterSpacing?t+=s.letterSpacing*n:s.tracking&&(t+=s.tracking/1e3*n)}return t},s1.prototype.getPath=function(r,t,e,n,s){var i=new _1;return this.forEachGlyph(r,t,e,n,s,function(a,o,u,l){var c=a.getPath(o,u,l,s,this);i.extend(c)}),i},s1.prototype.getPaths=function(r,t,e,n,s){var i=[];return this.forEachGlyph(r,t,e,n,s,function(a,o,u,l){var c=a.getPath(o,u,l,s,this);i.push(c)}),i},s1.prototype.getAdvanceWidth=function(r,t,e){return this.forEachGlyph(r,0,0,t,e,function(){})},s1.prototype.draw=function(r,t,e,n,s,i){this.getPath(t,e,n,s,i).draw(r)},s1.prototype.drawPoints=function(r,t,e,n,s,i){this.forEachGlyph(t,e,n,s,i,function(a,o,u,l){a.drawPoints(r,o,u,l)})},s1.prototype.drawMetrics=function(r,t,e,n,s,i){this.forEachGlyph(t,e,n,s,i,function(a,o,u,l){a.drawMetrics(r,o,u,l)})},s1.prototype.getEnglishName=function(r){var t=this.names[r];if(t)return t.en},s1.prototype.validate=function(){var r=this;function t(n,s){}function e(n){var s=r.getEnglishName(n);s&&s.trim().length>0}e("fontFamily"),e("weightName"),e("manufacturer"),e("copyright"),e("version"),this.unitsPerEm>0},s1.prototype.toTables=function(){return Xs.fontToTable(this)},s1.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},s1.prototype.toArrayBuffer=function(){for(var r=this.toTables(),t=r.encode(),e=new ArrayBuffer(t.length),n=new Uint8Array(e),s=0;s<t.length;s++)n[s]=t[s];return e},s1.prototype.download=function(r){var t=this.getEnglishName("fontFamily"),e=this.getEnglishName("fontSubfamily");r=r||t.replace(/\s/g,"")+"-"+e+".otf";var n=this.toArrayBuffer();if(Ys())if(window.URL=window.URL||window.webkitURL,window.URL){var s=new DataView(n),i=new Blob([s],{type:"font/opentype"}),a=document.createElement("a");a.href=window.URL.createObjectURL(i),a.download=r;var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),a.dispatchEvent(o)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var u=require("fs"),l=Vs(n);u.writeFileSync(r,l)}},s1.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},s1.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},s1.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};function rn(r,t){var e=JSON.stringify(r),n=256;for(var s in t){var i=parseInt(s);if(!(!i||i<256)){if(JSON.stringify(t[s])===e)return i;n<=i&&(n=i+1)}}return t[n]=r,n}function s5(r,t,e){var n=rn(t.name,e);return[{name:"tag_"+r,type:"TAG",value:t.tag},{name:"minValue_"+r,type:"FIXED",value:t.minValue<<16},{name:"defaultValue_"+r,type:"FIXED",value:t.defaultValue<<16},{name:"maxValue_"+r,type:"FIXED",value:t.maxValue<<16},{name:"flags_"+r,type:"USHORT",value:0},{name:"nameID_"+r,type:"USHORT",value:n}]}function i5(r,t,e){var n={},s=new Y.Parser(r,t);return n.tag=s.parseTag(),n.minValue=s.parseFixed(),n.defaultValue=s.parseFixed(),n.maxValue=s.parseFixed(),s.skip("uShort",1),n.name=e[s.parseUShort()]||{},n}function a5(r,t,e,n){for(var s=rn(t.name,n),i=[{name:"nameID_"+r,type:"USHORT",value:s},{name:"flags_"+r,type:"USHORT",value:0}],a=0;a<e.length;++a){var o=e[a].tag;i.push({name:"axis_"+r+" "+o,type:"FIXED",value:t.coordinates[o]<<16})}return i}function o5(r,t,e,n){var s={},i=new Y.Parser(r,t);s.name=n[i.parseUShort()]||{},i.skip("uShort",1),s.coordinates={};for(var a=0;a<e.length;++a)s.coordinates[e[a].tag]=i.parseFixed();return s}function u5(r,t){var e=new z.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:r.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:r.instances.length},{name:"instanceSize",type:"USHORT",value:4+r.axes.length*4}]);e.offsetToData=e.sizeOf();for(var n=0;n<r.axes.length;n++)e.fields=e.fields.concat(s5(n,r.axes[n],t));for(var s=0;s<r.instances.length;s++)e.fields=e.fields.concat(a5(s,r.instances[s],r.axes,t));return e}function l5(r,t,e){var n=new Y.Parser(r,t),s=n.parseULong();J.argument(s===65536,"Unsupported fvar table version.");var i=n.parseOffset16();n.skip("uShort",1);for(var a=n.parseUShort(),o=n.parseUShort(),u=n.parseUShort(),l=n.parseUShort(),c=[],h=0;h<a;h++)c.push(i5(r,t+i+h*o,e));for(var f=[],_=t+i+a*o,p=0;p<u;p++)f.push(o5(r,_+p*l,c,e));return{axes:c,instances:f}}var c5={make:u5,parse:l5},h5=function(){return{coverage:this.parsePointer(A.coverage),attachPoints:this.parseList(A.pointer(A.uShortList))}},f5=function(){var r=this.parseUShort();if(J.argument(r===1||r===2||r===3,"Unsupported CaretValue table version."),r===1)return{coordinate:this.parseShort()};if(r===2)return{pointindex:this.parseShort()};if(r===3)return{coordinate:this.parseShort()}},d5=function(){return this.parseList(A.pointer(f5))},_5=function(){return{coverage:this.parsePointer(A.coverage),ligGlyphs:this.parseList(A.pointer(d5))}},g5=function(){return this.parseUShort(),this.parseList(A.pointer(A.coverage))};function D5(r,t){t=t||0;var e=new A(r,t),n=e.parseVersion(1);J.argument(n===1||n===1.2||n===1.3,"Unsupported GDEF table version.");var s={version:n,classDef:e.parsePointer(A.classDef),attachList:e.parsePointer(h5),ligCaretList:e.parsePointer(_5),markAttachClassDef:e.parsePointer(A.classDef)};return n>=1.2&&(s.markGlyphSets=e.parsePointer(g5)),s}var p5={parse:D5},H1=new Array(10);H1[1]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();if(e===1)return{posFormat:1,coverage:this.parsePointer(A.coverage),value:this.parseValueRecord()};if(e===2)return{posFormat:2,coverage:this.parsePointer(A.coverage),values:this.parseValueRecordList()};J.assert(!1,"0x"+t.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},H1[2]=function(){var t=this.offset+this.relativeOffset,e=this.parseUShort();J.assert(e===1||e===2,"0x"+t.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var n=this.parsePointer(A.coverage),s=this.parseUShort(),i=this.parseUShort();if(e===1)return{posFormat:e,coverage:n,valueFormat1:s,valueFormat2:i,pairSets:this.parseList(A.pointer(A.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(s),value2:this.parseValueRecord(i)}})))};if(e===2){var a=this.parsePointer(A.classDef),o=this.parsePointer(A.classDef),u=this.parseUShort(),l=this.parseUShort();return{posFormat:e,coverage:n,valueFormat1:s,valueFormat2:i,classDef1:a,classDef2:o,class1Count:u,class2Count:l,classRecords:this.parseList(u,A.list(l,function(){return{value1:this.parseValueRecord(s),value2:this.parseValueRecord(i)}}))}}},H1[3]=function(){return{error:"GPOS Lookup 3 not supported"}},H1[4]=function(){return{error:"GPOS Lookup 4 not supported"}},H1[5]=function(){return{error:"GPOS Lookup 5 not supported"}},H1[6]=function(){return{error:"GPOS Lookup 6 not supported"}},H1[7]=function(){return{error:"GPOS Lookup 7 not supported"}},H1[8]=function(){return{error:"GPOS Lookup 8 not supported"}},H1[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function v5(r,t){t=t||0;var e=new A(r,t),n=e.parseVersion(1);return J.argument(n===1||n===1.1,"Unsupported GPOS table version "+n),n===1?{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(H1)}:{version:n,scripts:e.parseScriptList(),features:e.parseFeatureList(),lookups:e.parseLookupList(H1),variations:e.parseFeatureVariationsList()}}var m5=new Array(10);function b5(r){return new z.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new z.ScriptList(r.scripts)},{name:"features",type:"TABLE",value:new z.FeatureList(r.features)},{name:"lookups",type:"TABLE",value:new z.LookupList(r.lookups,m5)}])}var y5={parse:v5,make:b5};function F5(r){var t={};r.skip("uShort");var e=r.parseUShort();J.argument(e===0,"Unsupported kern sub-table version."),r.skip("uShort",2);var n=r.parseUShort();r.skip("uShort",3);for(var s=0;s<n;s+=1){var i=r.parseUShort(),a=r.parseUShort(),o=r.parseShort();t[i+","+a]=o}return t}function C5(r){var t={};r.skip("uShort");var e=r.parseULong();e>1&&console.warn("Only the first kern subtable is supported."),r.skip("uLong");var n=r.parseUShort(),s=n&255;if(r.skip("uShort"),s===0){var i=r.parseUShort();r.skip("uShort",3);for(var a=0;a<i;a+=1){var o=r.parseUShort(),u=r.parseUShort(),l=r.parseShort();t[o+","+u]=l}}return t}function E5(r,t){var e=new Y.Parser(r,t),n=e.parseUShort();if(n===0)return F5(e);if(n===1)return C5(e);throw new Error("Unsupported kern table version ("+n+").")}var S5={parse:E5};function T5(r,t,e,n){for(var s=new Y.Parser(r,t),i=n?s.parseUShort:s.parseULong,a=[],o=0;o<e+1;o+=1){var u=i.call(s);n&&(u*=2),a.push(u)}return a}var x5={parse:T5};function B5(r,t){var e=require("fs");e.readFile(r,function(n,s){if(n)return t(n.message);t(null,T7(s))})}function O5(r,t){var e=new XMLHttpRequest;e.open("get",r,!0),e.responseType="arraybuffer",e.onload=function(){return e.response?t(null,e.response):t("Font could not be loaded: "+e.statusText)},e.onerror=function(){t("Font could not be loaded")},e.send()}function sn(r,t){for(var e=[],n=12,s=0;s<t;s+=1){var i=Y.getTag(r,n),a=Y.getULong(r,n+4),o=Y.getULong(r,n+8),u=Y.getULong(r,n+12);e.push({tag:i,checksum:a,offset:o,length:u,compression:!1}),n+=16}return e}function w5(r,t){for(var e=[],n=44,s=0;s<t;s+=1){var i=Y.getTag(r,n),a=Y.getULong(r,n+4),o=Y.getULong(r,n+8),u=Y.getULong(r,n+12),l=void 0;o<u?l="WOFF":l=!1,e.push({tag:i,offset:a,compression:l,compressedLength:o,length:u}),n+=20}return e}function f1(r,t){if(t.compression==="WOFF"){var e=new Uint8Array(r.buffer,t.offset+2,t.compressedLength-2),n=new Uint8Array(t.length);if(y8(e,n),n.byteLength!==t.length)throw new Error("Decompression error: "+t.tag+" decompressed length doesn't match recorded length");var s=new DataView(n.buffer,0);return{data:s,offset:0}}else return{data:r,offset:t.offset}}function V6(r,t){t=t==null?{}:t;var e,n,s=new s1({empty:!0}),i=new DataView(r,0),a,o=[],u=Y.getTag(i,0);if(u==="\0\0\0"||u==="true"||u==="typ1")s.outlinesFormat="truetype",a=Y.getUShort(i,4),o=sn(i,a);else if(u==="OTTO")s.outlinesFormat="cff",a=Y.getUShort(i,4),o=sn(i,a);else if(u==="wOFF"){var l=Y.getTag(i,4);if(l==="\0\0\0")s.outlinesFormat="truetype";else if(l==="OTTO")s.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+u);a=Y.getUShort(i,12),o=w5(i,a)}else throw new Error("Unsupported OpenType signature "+u);for(var c,h,f,_,p,m,v,F,E,S,B,x,w=0;w<a;w+=1){var O=o[w],T=void 0;switch(O.tag){case"cmap":T=f1(i,O),s.tables.cmap=z4.parse(T.data,T.offset),s.encoding=new W4(s.tables.cmap);break;case"cvt ":T=f1(i,O),x=new Y.Parser(T.data,T.offset),s.tables.cvt=x.parseShortList(O.length/2);break;case"fvar":h=O;break;case"fpgm":T=f1(i,O),x=new Y.Parser(T.data,T.offset),s.tables.fpgm=x.parseByteList(O.length);break;case"head":T=f1(i,O),s.tables.head=i7.parse(T.data,T.offset),s.unitsPerEm=s.tables.head.unitsPerEm,e=s.tables.head.indexToLocFormat;break;case"hhea":T=f1(i,O),s.tables.hhea=a7.parse(T.data,T.offset),s.ascender=s.tables.hhea.ascender,s.descender=s.tables.hhea.descender,s.numberOfHMetrics=s.tables.hhea.numberOfHMetrics;break;case"hmtx":v=O;break;case"ltag":T=f1(i,O),n=u7.parse(T.data,T.offset);break;case"maxp":T=f1(i,O),s.tables.maxp=l7.parse(T.data,T.offset),s.numGlyphs=s.tables.maxp.numGlyphs;break;case"name":S=O;break;case"OS/2":T=f1(i,O),s.tables.os2=$6.parse(T.data,T.offset);break;case"post":T=f1(i,O),s.tables.post=p7.parse(T.data,T.offset),s.glyphNames=new x6(s.tables.post);break;case"prep":T=f1(i,O),x=new Y.Parser(T.data,T.offset),s.tables.prep=x.parseByteList(O.length);break;case"glyf":f=O;break;case"loca":E=O;break;case"CFF ":c=O;break;case"kern":F=O;break;case"GDEF":_=O;break;case"GPOS":p=O;break;case"GSUB":m=O;break;case"meta":B=O;break}}var R=f1(i,S);if(s.tables.name=D7.parse(R.data,R.offset,n),s.names=s.tables.name,f&&E){var k=e===0,$=f1(i,E),M=x5.parse($.data,$.offset,s.numGlyphs,k),U=f1(i,f);s.glyphs=A7.parse(U.data,U.offset,M,s,t)}else if(c){var I=f1(i,c);s7.parse(I.data,I.offset,s,t)}else throw new Error("Font doesn't contain TrueType or CFF outlines.");var L=f1(i,v);if(o7.parse(s,L.data,L.offset,s.numberOfHMetrics,s.numGlyphs,s.glyphs,t),G8(s,t),F){var H=f1(i,F);s.kerningPairs=S5.parse(H.data,H.offset)}else s.kerningPairs={};if(_){var X=f1(i,_);s.tables.gdef=p5.parse(X.data,X.offset)}if(p){var j=f1(i,p);s.tables.gpos=y5.parse(j.data,j.offset),s.position.init()}if(m){var G=f1(i,m);s.tables.gsub=v7.parse(G.data,G.offset)}if(h){var Q=f1(i,h);s.tables.fvar=c5.parse(Q.data,Q.offset,s.names)}if(B){var t1=f1(i,B);s.tables.meta=m7.parse(t1.data,t1.offset),s.metas=s.tables.meta}return s}function A5(r,t,e){e=e==null?{}:e;var n=typeof window>"u",s=n&&!e.isUrl?B5:O5;return new Promise(function(i,a){s(r,function(o,u){if(o){if(t)return t(o);a(o)}var l;try{l=V6(u,e)}catch(c){if(t)return t(c,null);a(c)}if(t)return t(null,l);i(l)})})}function R5(r,t){var e=require("fs"),n=e.readFileSync(r);return V6(T7(n),t)}var $5=Object.freeze({__proto__:null,Font:s1,Glyph:$1,Path:_1,BoundingBox:re,_parse:Y,parse:V6,load:A5,loadSync:R5});function k5(r){const{family:t,style:e}=r;let n=0,s=400;switch(/italic/i.test(e)&&(n=1),!0){case/thin|hairline/i.test(e):{s=100;break}case/(extra|ultra) *light/i.test(e):{s=200;break}case/light/i.test(e):{s=300;break}case/medium/i.test(e):{s=500;break}case/(semi|demi) *bold/i.test(e):{s=600;break}case/bold/i.test(e):{s=700;break}case/(extra|ultra) *bold/i.test(e):{s=800;break}case/black|heavy/i.test(e):{s=900;break}}return{family:t,variant:{style:n,weight:s}}}function I5(r){const{ff:t,bl:e=g.BooleanNumber.FALSE,it:n=g.BooleanNumber.FALSE}=r;return{family:t!=null?t:"Arial",variant:{style:n===g.BooleanNumber.TRUE?1:0,weight:e===g.BooleanNumber.TRUE?700:400}}}function L5(r,t){let e=Number.POSITIVE_INFINITY;r.variant.style===t.variant.style?e=0:r.variant.style!==0&&t.variant.style!==0?e=1:e=2;const n=Math.abs(r.variant.weight-t.variant.weight);return[e,n]}function M5(r,t){return r[0]===t[0]&&r[1]===t[1]?0:r[0]===t[0]?r[1]>t[1]?1:2:r[0]>t[0]?1:2}async function P5(){var t;return typeof window>"u"?void 0:window.navigator==null||((t=window.navigator)==null?void 0:t.permissions)==null?!1:(await window.navigator.permissions.query({name:"local-fonts"})).state==="granted"}class N5{constructor(){d(this,"isReady",!1);d(this,"_fontBook",new Map);this._loadFontsToBook()}async _loadFontsToBook(){if(!(this.isReady||!await P5())&&"queryLocalFonts"in window)try{const e=await window.queryLocalFonts();for(const n of e){const{family:s,style:i}=n;let a=this._fontBook.get(s);a==null&&(a=new Map,this._fontBook.set(s,a));const u=await(await n.blob()).arrayBuffer();a.set(i,{font:n,buffer:u})}this.isReady=!0}catch(e){console.error(e)}}findBestMatchFontByStyle(t){const e=t.ff,n=this._fontBook.get(e);if(n==null)return;let s=null,i=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(const a of n.values()){const{font:o}=a,u=k5(o),l=I5(t),c=L5(u,l);(s==null||M5(i,c)===1)&&(s=a,i=c)}return s}getValidFontFamilies(t){return t.filter(e=>this._fontBook.has(e))}}const Dt=new N5;function U5(r,t){const{dataStream:e,paragraphs:n=[],textRuns:s=[]}=r;let i=0;for(let o=0;o<n.length;o++){const u=n[o],{startIndex:l}=u;if(l===t)break;i=l+1}const a=[];for(const o of s){const{st:u,ed:l}=o;u>=i&&u<=t?a.push({...o,st:u-i,ed:Math.min(l,t)-i}):l>=i&&l<=t&&a.push({...o,st:Math.max(u,i)-i,ed:l-i})}return{dataStream:e.substring(i,t+1),textRuns:a}}function H5(r){const{dataStream:t,textRuns:e=[]}=r;let n=0;const s=[];for(const i of e){const{st:a,ed:o,ts:u={}}=i;a!==n&&s.push({content:t.substring(n,a)}),s.push({content:t.substring(a,o),style:u}),n=o}return n!==t.length&&s.push({content:t.substring(n)}),s}const an=new Map,j6=new Map;function K6(r,t,e,n,s){var m,v,F,E;let i=0,a=n[i];for(;e.has(a);)i++,a=n[i];if(!a)return[{char:r,start:t,end:t+r.length,glyph:null,font:null,kerning:0,boundingBox:null}];e.add(a);const{font:o,buffer:u}=Dt.findBestMatchFontByStyle({ff:a,bl:(m=s.bl)!=null?m:g.BooleanNumber.FALSE,it:(v=s.it)!=null?v:g.BooleanNumber.FALSE});let l=an.get(o.fullName);l||(l=$5.parse(u),an.set(o.fullName,l));const c=[],h=l.stringToGlyphs(r),f=(F=r.match(/[\s\S]/gu))!=null?F:[];let _=0,p=0;for(;_<h.length;){const S=h[_];if(S.index!==0)c.push({char:f[_],start:p+t,end:p+t+f[_].length,glyph:S,font:l,kerning:0,boundingBox:S.getBoundingBox()});else{const B=p,w=r.substring(B).match(G2);if(w){let O=0;do O+=f[_].length,p+=f[_].length,_++;while(O<w[0].length);c.push(...K6(r.slice(B,B+w[0].length),t+B,e,n,s));continue}else{let O=h[_+1],T=f[_+1];for(;(O==null?void 0:O.index)===0&&!G2.test(T);)p+=f[_].length,_++,O=h[_+1],T=f[_+1];c.push(...K6(r.slice(B,p+f[_].length),t+B,e,n,s))}}p+=(E=f[_])==null?void 0:E.length,_++}return e.delete(a),c}function G5(r){if(r.length<2)return;let t=r[0].font,e=r[0].glyph;for(let n=1;n<r.length;n++){const{font:s,glyph:i}=r[n];if(t!==s||s==null||e==null||i==null){t=s,e=i;continue}const a=s.getKerningValue(e,i);a!==0&&(r[n].kerning=a),t=s,e=i}}function z5(r){var i;if(!Dt.isReady)return[];const t=JSON.stringify(r);if(j6.has(t))return j6.get(t);const e=H5(r),n=[];let s=0;for(const a of e){const{content:o,style:u={}}=a;let l=i2.split(",").map(c=>c.trim().replace(/["']/g,""));l.unshift((i=u.ff)!=null?i:"Arial"),l=Dt.getValidFontFamilies(l),n.push(...K6(o,s,new Set,l,u)),s+=o.length}return G5(n),j6.set(t,n),n}function X5(r,t,e,n,s,i){const a=[];let o=0;for(let u=0;u<t.length;u++){const l=t[u];if(w0(l)||z2(t.substring(u)))break;const c=We(r+u,e,n,s,i),h=Ye(l,c);a.push(h),o++}return{step:o,glyphGroup:a}}function W5(r,t,e,n,s,i){const a=We(r,e,n,s,i),o=[];let u=0;for(let l=0;l<t.length;l++){const c=t[l];if(It(c))o.unshift(c),u++;else break}return{step:u,glyphGroup:[Ye(o.join(""),a)]}}function Y5(r,t,e,n,s,i){const a=We(r,e,n,s,i),o=t.match(G2);return{step:o[0].length,glyphGroup:[Ye(o[0],a)]}}function V5(r,t,e,n,s,i){const a=We(r,e,n,s,i),o=[];let u=0;for(let l=0;l<t.length;l++){const c=t[l];if(Lt(c))o.push(c),u++;else break}return{step:u,glyphGroup:[h8(o.join(""),a)]}}function j5(r){const t=r.length;for(let e=0;e<t-1;e++){const n=r[e],s=r[e+1],{width:i,content:a}=n,o=i/2;if(kt(a)&&kt(s.content)&&n.adjustability.shrinkability[1]+s.adjustability.shrinkability[0]>=o){const u=Math.min(n.adjustability.shrinkability[1],o);S4(n,u),T4(s,o-u)}}}function K5(r){const t=r.flatMap(i=>i.glyphs);let e=null;const n=t.length,s=/[a-z\d]/i;for(let i=0;i<n;i++){const a=t[i],o=i<n-1?t[i+1]:null,{width:u}=a;c2(a.content)&&o&&s.test(o.content)&&(a.width+=u/4,a.adjustability.shrinkability[1]+=u/8),c2(a.content)&&e&&s.test(e.content)&&(a.width+=u/4,a.xOffset+=u/4,a.adjustability.shrinkability[0]+=u/8),e=a}}function q5(r,t,e,n,s,i=!1){var E;const{gridType:a=g.GridType.LINES,charSpace:o=0,defaultTabStop:u=10.5}=n,{snapToGrid:l=g.BooleanNumber.TRUE}=s,c=[],h=new u8(r),{endIndex:f}=e;let _=0,p,m=0;const v=U5(t.getBody(),f);let F=[];for(i&&(F=z5(v)),c8(h);p=h.nextBreak();){const S=r.slice(_,p.position),B=[];if(Dt.isReady&&i){const x=[];let w=0;for(w=m;w<F.length;w++){const O=F[w],{end:T}=O;if(T>p.position)break;x.push(O)}m=w;for(const O of x){const{start:T,char:R}=O,k=We(T,t,e,n,s);if(R===g.DataStreamTreeTokenType.TAB){const $=v2(o,u,a,l),M=E4(k,$);B.push(M)}else if(z2(R)){const $=Ye(R,k);B.push($)}else{const $=Ye(R,k,void 0,O);B.push($)}}}else{let x=S,w=_;for(;x.length>0;){const O=(E=x.match(/^[\s\S]/gu))==null?void 0:E[0];if(O==null)break;if(/\s/.test(O)||h2(O)){const T=We(w,t,e,n,s);let R;if(O===g.DataStreamTreeTokenType.TAB){const k=v2(o,u,a,l);R=E4(T,k)}else R=Ye(O,T);B.push(R),w+=O.length,x=x.substring(O.length)}else if(z2(x)){const{step:T,glyphGroup:R}=Y5(w,x,t,e,n,s);B.push(...R),w+=T,x=x.substring(T)}else if(It(O)){const{step:T,glyphGroup:R}=W5(w,x,t,e,n,s);B.push(...R),w+=T,x=x.substring(T)}else if(Lt(O)){const{step:T,glyphGroup:R}=V5(w,x,t,e,n,s);B.push(...R),w+=T,x=x.substring(T)}else{const{step:T,glyphGroup:R}=X5(w,x,t,e,n,s);B.push(...R),w+=T,x=x.substring(T)}}}j5(B),c.push({text:S,glyphs:B}),_=p.position}return K5(c),c}function $2(r,t,e=1,n=Ne.SECTION){var v1,y1,z1,O1;const s=Z5(),{pageNumberStart:i=1,pageSize:a={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},pageOrient:o=g.PageOrientType.PORTRAIT,headerIds:u={},footerIds:l={},useFirstPageHeaderFooter:c,useEvenPageHeaderFooter:h,footerTreeMap:f,headerTreeMap:_,columnProperties:p=[],columnSeparatorType:m,marginTop:v=0,marginBottom:F=0,marginHeader:E=0,marginFooter:S=0,marginLeft:B=0,marginRight:x=0,renderConfig:w={}}=r,{skeHeaders:O,skeFooters:T}=t,{width:R=Number.POSITIVE_INFINITY,height:k=Number.POSITIVE_INFINITY}=a;s.pageNumber=e,s.pageNumberStart=i,s.renderConfig=w,s.marginLeft=B,s.marginRight=x,s.breakType=n,s.pageWidth=R,s.width=0,s.pageHeight=k,s.height=0,s.pageOrient=o;const{defaultHeaderId:$,evenPageHeaderId:M,firstPageHeaderId:U}=u,{defaultFooterId:I,evenPageFooterId:L,firstPageFooterId:H}=l;let X=$!=null?$:"",j=I!=null?I:"";e===i&&c?(X=U!=null?U:"",j=H!=null?H:""):e%2===0&&h&&(X=M!=null?M:"",j=L!=null?L:"");let G,Q;X&&((v1=O.get(X))!=null&&v1.has(R)?G=(y1=O.get(X))==null?void 0:y1.get(R):_&&_.has(X)&&(G=on(_.get(X),r,t),O.set(X,new Map([[R,G]]))),s.headerId=X),j&&((z1=T.get(j))!=null&&z1.has(R)?Q=(O1=T.get(j))==null?void 0:O1.get(R):f&&f.has(j)&&(Q=on(f.get(j),r,t),T.set(X,new Map([[R,Q]]))),s.footerId=j),s.marginTop=un(v,E,G),s.marginBottom=un(F,S,Q);const t1=s.sections,n1=t1[t1.length-1],{marginTop:a1,marginBottom:C1,marginLeft:D1,marginRight:i1}=s,o1=R-D1-i1,p1=k-a1-C1;let l1=0;n1&&(l1=n1.top+n1.height);const B1=r4(p,m,l1,0,o1,p1-l1);return B1.parent=s,t1.push(B1),s}function Z5(){return{sections:[],headerId:"",footerId:"",pageWidth:0,pageHeight:0,pageOrient:g.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,breakType:Ne.SECTION,st:0,ed:0,skeDrawings:new Map}}function on(r,t,e,n=!0){const{lists:s,footerTreeMap:i,headerTreeMap:a,localeService:o,pageSize:u,marginLeft:l=0,marginRight:c=0,drawings:h,marginTop:f=0,marginBottom:_=0,marginHeader:p=0,marginFooter:m=0}=t,v=(u==null?void 0:u.width)||Number.POSITIVE_INFINITY,F={lists:s,footerTreeMap:i,headerTreeMap:a,pageSize:{width:v-l-c,height:Number.POSITIVE_INFINITY},localeService:o,drawings:h},E=$2(F,e),S=yn(r,r.children[0],E,F,e).pages[0];t6([S]);const B=S.sections[0].columns[0],x=B.height||0,{skeDrawings:w,st:O,ed:T}=S,R={lines:B.lines,skeDrawings:w,height:x,st:O,ed:T,marginLeft:l,marginRight:c};return n?{...R,marginTop:J5(f,p,x)}:{...R,marginBottom:Q5(_,m,x)}}function un(r,t,e){return!e||e.lines.length===0?r:Math.max(r,t,(e==null?void 0:e.height)||0)}function J5(r,t,e){const n=Math.max(r,t);return e>n?0:n-e}function Q5(r,t,e){const n=Math.max(r,t);return e>n?0:n-e}function ea(r,t,e,n,s=0,i=!1,a,o,u){const{lineHeight:l=15.6,lineTop:c=0,contentHeight:h=0,paddingLeft:f=0,paddingRight:_=0,paddingTop:p=0,paddingBottom:m=0,marginTop:v=0,spaceBelowApply:F=0}=e,E=oa(t,r);E.lineIndex=s,E.paragraphStart=i,E.contentHeight=h,E.top=c,E.lineHeight=l,E.paddingTop=p,E.paddingBottom=m,E.marginTop=v,E.spaceBelowApply=F,E.divides=na(l,c,n,f,_,a,o,u);for(const S of E.divides)S.parent=E;return E}function ta(r=15.6,t=0,e,n,s){let i=t;return n==null||n.forEach(a=>{const o=q6(a,r,t);o&&(i=Math.max(i,o))}),s==null||s.forEach(a=>{const o=q6(a,r,t);o&&(i=Math.max(i,o))}),e==null||e.forEach(a=>{const o=q6(a,r,t);o&&(i=Math.max(i,o))}),i}function q6(r,t,e){const{aTop:n,height:s,aLeft:i,width:a,angle:o=0,drawingOrigin:u}=r,{layoutType:l,distT:c=0,distB:h=0}=u;if(l!==g.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(o===0){const p=n-c,m=s+h;return p+m<e||p>t+e?void 0:p+s}let{top:f=0,height:_=0}=ln(o,i,a,n,s);if(f-=c,_+=h,!(f+_<e||f>t+e))return f+_}function na(r,t,e,n,s,i,a,o){const u=[];return u.push({left:0,width:n},{left:e-s,width:s}),a==null||a.forEach((l,c)=>{const h=Z6(l,r,t,e);h&&u.push(h)}),o==null||o.forEach((l,c)=>{const h=Z6(l,r,t,e);h&&u.push(h)}),i==null||i.forEach((l,c)=>{const h=Z6(l,r,t,e);h&&u.push(h)}),aa(e,u)}function ra(r,t){r.isFull=t}function Z6(r,t,e,n){const{aTop:s,height:i,aLeft:a,width:o,angle:u=0,drawingOrigin:l}=r,{layoutType:c}=l;if(c===g.PositionedObjectLayoutType.WRAP_NONE||c===g.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(c===g.PositionedObjectLayoutType.WRAP_POLYGON){const{start:f=[0,0],lineTo:_}=l;if(!_)return;const p=[];p.push(new P(f[0],f[1]));for(let m=0;m<_.length;m++){const v=_[m];p.push(new P(v[0],v[1]))}if(u!==0){const m=new m1().rotate(u);for(let v=0;v<p.length;v++){const F=p[v];p[v]=m.applyPoint(F)}}return cn(p,e,t,n)}if(u===0)return hn(s,i,a,o,e,t,n,l);const h=ln(u,a,o,s,i);if(c===g.PositionedObjectLayoutType.WRAP_SQUARE){const{left:f,width:_,top:p,height:m}=h;return hn(p,m,f,_,e,t,n,l)}return cn(h.points,e,t,n)}function ln(r,t,e,n,s){const i=new m1().rotate(r),a=new P(t,n),o=new P(t,n+s),u=new P(t+e,n),l=new P(t+e,n+s);return i.makeBoundingBoxFromPoints([a,o,u,l])}function cn(r,t,e,n){const s=new W0(r),i=s.intersection([new P(0,t),new P(n,t)]),a=s.intersection([new P(0,t+e),new P(n,t+e)]);if(!i&&!a)return;const o=sa([...r,...i||[],...a||[]]);return{left:o.min,width:o.max}}function sa(r,t=0){const e=[];for(let n=0;n<r.length;n++){const s=r[n];t===0?e.push(s.x):e.push(s.y)}return{max:Math.max(...e),min:Math.min(...e)}}function hn(r,t,e,n,s,i,a,o){const{layoutType:u,wrapText:l=g.WrapTextType.BOTH_SIDES,distL:c=0,distR:h=0,distT:f=0,distB:_=0}=o,p=r-(u===g.PositionedObjectLayoutType.WRAP_SQUARE?f:0),m=t+(u===g.PositionedObjectLayoutType.WRAP_SQUARE?_:0);if(p+m<s||p>i+s)return;let v=e-c,F=n+h;const E=ia(l,v,F,a);return E===1?F=a-v:E===2&&(v=0,F=e+n+h),{left:v,width:F}}function ia(r,t,e,n){let s=0;return r===g.WrapTextType.LEFT?s=1:r===g.WrapTextType.RIGHT?s=2:r===g.WrapTextType.LARGEST&&(t>n-t-e?s=1:s=2),s}function aa(r,t){t.sort((i,a)=>i.left>a.left?1:-1);const e=[];let n=0;const s=t.length;for(let i=0;i<s;i++){const a=t[i],{left:o,width:u}=a;if(o>n){let l=o-n;l=l<r?l:r-n;const c=fn(n,l);e.push(c)}if(n=Math.max(o+u,n),i===s-1&&o+u<r){const l=fn(o+u,r-o-u);e.push(l)}}return e}function fn(r,t){return{glyphGroup:[],width:t,left:r,paddingLeft:0,isFull:!1,st:0,ed:0}}function oa(r,t){return{paragraphIndex:t,type:r,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,lineIndex:0,paragraphStart:!1}}function ua(r,t,e,n){if(n)if(n.has(r)){const s=n.get(r);s==null||s.elements.push(t)}else n.set(r,{elements:[t],paragraphIndex:r,top:e})}function la(r,t,e,n,s=!1){if(s)if(n.bulletSkeleton){const{bulletSkeleton:i,paragraphStyle:a={}}=n,{gridType:o=g.GridType.LINES,charSpace:u=0,defaultTabStop:l=1}=e,{snapToGrid:c=g.BooleanNumber.TRUE}=a,h=v2(u,l,o,c),f=f8(r[0],i,h);Re([f,...r],t,e,n,s)}else Re(r,t,e,n,s);else pt(r,t,e,n,s);return[...t]}function ca(r){if(r.length<=1)return!1;let t=!1;for(const e of r)if(e.content===g.DataStreamTreeTokenType.SPACE&&(t=!0),t&&e.content!==g.DataStreamTreeTokenType.SPACE&&e.content!==g.DataStreamTreeTokenType.PARAGRAPH&&e.streamType!==g.DataStreamTreeTokenType.SECTION_BREAK)return!1;return t}function ha(r,t,e){if(r.length<=1)return!1;let n=t,s=!1;for(const i of r){if(i.content===g.DataStreamTreeTokenType.SPACE||i.content===g.DataStreamTreeTokenType.PARAGRAPH||i.streamType===g.DataStreamTreeTokenType.SECTION_BREAK)break;if(n+=i.width,n>e){s=!0;break}}return s}function pt(r,t,e,n,s=!1,i){var u;const a=Xe(t),o=mr(a);if(o){const l=Dn(r),{divide:c}=o,h=(u=c==null?void 0:c.glyphGroup)==null?void 0:u[c.glyphGroup.length-1],f=(h==null?void 0:h.width)||0,_=(h==null?void 0:h.left)||0,p=f+_;if(p+l>c.width)if(ra(c,!0),o.isLast&&r.length===1&&(r[0].content===g.DataStreamTreeTokenType.SPACE||r[0].content===g.DataStreamTreeTokenType.PARAGRAPH))et(c,r,p);else if(o.isLast&&!ha(r,p,c.width)&&ca(r))et(c,r,p);else if((c==null?void 0:c.glyphGroup.length)===0){const m=[];for(;r.length;)if(m.push(r.shift()),Dn(m)>c.width){m.length>1&&r.unshift(m.pop());break}et(c,m,p),r.length&&Re(r,t,e,n,s,i)}else Re(r,t,e,n,s,i);else{const m=c.parent,v=Da(r);if(m&&v&&!va(m)){const{paragraphLineGapDefault:F,linePitch:E,lineSpacing:S,spacingRule:B,snapToGrid:x,gridType:w}=t4(e,n),{boundingBoxAscent:O,boundingBoxDescent:T}=v,R=O+T,{contentHeight:k}=gn(R,F,E,w,S,B,x);if(m.contentHeight<k){const $=pa(m),M=$.length;let U=[],I=1;M>2&&$[0].glyphType===A1.LIST?(U=[$[0],$[1]],I=2):U=[$[0]];const L=m.parent,{paragraphStart:H}=L==null?void 0:L.lines.pop();Re(U,t,e,n,H,O+T);for(let X=I;X<$.length;X++)pt([$[X]],t,e,n,s);pt(r,t,e,n,s);return}}et(c,r,p)}}else Re(r,t,e,n,s,i)}function Re(r,t,e,n,s=!1,i){var ke,w1,Fe,Ie,Le;let a=Xe(t),o=q2(a);if((!o||!o.column)&&(_n(r,t,e,n),a=Xe(t),o=q2(a)),!o)return;const u=o.column;if(u.width<=0){console.error("The column width is less than 0, need to adjust page width to make it great than 0");return}const l=vr(u),c=Math.max(...r.map(T1=>T1.bBox.ba)),h=Math.max(...r.map(T1=>T1.bBox.bd)),f=i||c+h,{paragraphStyle:_={},paragraphAffectSkeDrawings:p,skeHeaders:m,skeFooters:v,drawingAnchor:F,paragraphIndex:E}=n,{spaceAbove:S=0,spaceBelow:B=0,indentFirstLine:x=0,hanging:w=0,indentStart:O=0,indentEnd:T=0}=_,{paragraphLineGapDefault:R,linePitch:k,lineSpacing:$,spacingRule:M,snapToGrid:U,gridType:I}=t4(e,n),{paddingTop:L,paddingBottom:H,contentHeight:X,lineSpacingApply:j}=gn(f,R,k,I,$,M,U),{marginTop:G,spaceBelowApply:Q}=da(j,S,B,s,l),t1=G+L+X+H;let n1=u.parent;n1||(n1=e6(a));const a1=(l==null?void 0:l.lineHeight)||0,C1=(l==null?void 0:l.top)||0,D1=a1+C1,{pageWidth:i1,headerId:o1,footerId:p1}=a,l1=(w1=(ke=m==null?void 0:m.get(o1))==null?void 0:ke.get(i1))==null?void 0:w1.skeDrawings,B1=(Ie=(Fe=v==null?void 0:v.get(p1))==null?void 0:Fe.get(i1))==null?void 0:Ie.skeDrawings;_a(D1,t1,u,(Le=F==null?void 0:F.get(E))==null?void 0:Le.top,p);const v1=ta(t1,D1,a.skeDrawings,l1,B1);if(t1+v1>n1.height&&u.lines.length>0&&a.sections.length>0){s4(u,!0),dn(r,t,e,n,s,i);return}const y1=l?l.lineIndex+1:0,{charSpace:z1,defaultTabStop:O1}=yr(e,n),oe=v2(z1,O1,I,U),{paddingLeft:ye,paddingRight:ue}=fa(x,w,O,T,oe,s),le=ea(E,_2.PARAGRAPH,{lineHeight:t1,contentHeight:X,lineTop:v1,paddingLeft:ye,paddingRight:ue,paddingTop:L,paddingBottom:H,marginTop:G,spaceBelowApply:Q},u.width,y1,s,a.skeDrawings,l1,B1);u.lines.push(le),le.parent=u,ua(E,le,D1,F),pt(r,t,e,n,s,i)}function dn(r,t,e,n,s=!1,i){const a=Xe(t);br(a)===!0?_n(r,t,e,n,s,i):Re(r,t,e,n,s,i)}function _n(r,t,e,n,s=!1,i){const a=Xe(t),{skeHeaders:o,skeFooters:u}=n;t.push($2(e,{skeHeaders:o,skeFooters:u},a==null?void 0:a.pageNumber)),dn(r,t,e,n,s,i)}function fa(r=0,t=0,e=0,n=0,s,i=!1){const a=Te(r,s),o=Te(t,s),u=Te(e,s),l=Te(n,s);let c=u;const h=l;return a>0&&i&&(c+=a),o>0&&!i&&(c+=o),{paddingLeft:c,paddingRight:h}}function da(r=0,t=0,e=0,n,s){let i=0,a=0;if(!n)return{marginTop:i,spaceBelowApply:a};if(i=Te(t,r),a=Te(e,r),s){const{spaceBelowApply:o}=s;o>i&&(i=0,s.lineHeight+=o,s.marginBottom=o)}return{marginTop:i,spaceBelowApply:a}}function gn(r,t,e,n,s,i,a){let o=t,u=t;if(n===g.GridType.DEFAULT||a===g.BooleanNumber.FALSE)return i===g.SpacingRule.AUTO?{paddingTop:o,paddingBottom:u,contentHeight:s*r,lineSpacingApply:r}:{paddingTop:o,paddingBottom:u,contentHeight:Math.max(s,r),lineSpacingApply:s};let l=0;return i===g.SpacingRule.AUTO?l=s*e:l=s,r+t*2<l&&(o=u=(l-r)/2),{paddingTop:o,paddingBottom:u,contentHeight:r,lineSpacingApply:l}}function _a(r,t,e,n,s){var u;if(!s)return;const i=(u=e.parent)==null?void 0:u.parent;if(!i)return;const a=new Map,o=ga(e);s.forEach(l=>{if(!l)return;const{initialState:c,drawingOrigin:h}=l;if(c||!h)return;const{objectTransform:f}=h,{positionH:_,positionV:p,size:m,angle:v}=f,{width:F=0,height:E=0}=m;l.aLeft=Er(_,e,i,F,o)||0,l.aTop=Sr(p,i,r,t,E,n,o)||0,l.width=F,l.height=E,l.angle=v,l.initialState=!0,a.set(l.objectId,l)}),i.skeDrawings=new Map([...i.skeDrawings,...a])}function ga(r){const t=r.parent;if(!t)return!1;const e=t==null?void 0:t.columns;if(!e)return!1;const n=e.length;for(let s=n-1;s>=0;s--){const a=e[s].lines,o=a.length;if(!(o<=0)){for(let u=o-1;u>=0;u--)if(a[u].paragraphStart)return!1}}return!0}function Dn(r){const t=r.length;let e=0;for(let n=0;n<t;n++){const s=r[n];e+=s.width}return e}function Da(r){const t=r.length;let e=Number.NEGATIVE_INFINITY,n;for(let s=0;s<t;s++){const i=r[s],{ba:a,bd:o}=i.bBox;e<a+o&&(n={boundingBoxAscent:a,boundingBoxDescent:o}),e=a+o}return n}function pa(r){const t=r.divides,e=t.length,n=[];for(let s=0;s<e;s++){const i=t[s];n.push(...i.glyphGroup)}return n}function va(r){return!r.divides[0].glyphGroup[0]}function ma(r,t,e,n,s){return[]}function ba(r,t,e){return ya(r,t,e)}function ya(r,t,e){return e===g.GlyphType.DECIMAL?pn(r,t):e===g.GlyphType.ZERO_DECIMAL?Fa(r,t):e===g.GlyphType.UPPER_ALPHA?Ca(r,t):e===g.GlyphType.ALPHA?Ea(r,t):e===g.GlyphType.UPPER_ROMAN?Sa(r,t):e===g.GlyphType.ROMAN?Ta(r,t):pn(r,t)}function pn(r,t){return(r+t).toString()}function Fa(r,t){const e=r+t;return e<10?`0${e}`:e.toString()}function Ca(r,t){return g.numberToListABC(r+t-1,!0)}function Ea(r,t){return g.numberToListABC(r+t-1,!1)}function Sa(r,t){return vn(r+t,!0)}function Ta(r,t){return vn(r+t,!1)}function vn(r,t=!1){const e={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 s={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};t&&(s=e);let i="";for(const a in s)for(;r>=s[a];)i+=a,r-=s[a];return i}function xa(r,t,e,n){var h,f;if(!r||!t)return;const{listId:s,listType:i,nestingLevel:a=0,textStyle:o}=r,u=t[i];return!u||!u.nestingLevel?mn(s,(h=e==null?void 0:e[a])==null?void 0:h.startIndexItem):u.nestingLevel[a]?Ba(s,a,u.nestingLevel,e,o):mn(s,(f=e==null?void 0:e[a])==null?void 0:f.startIndexItem)}function mn(r,t=1){return{listId:r,symbol:"●",ts:{ff:"Arial",fs:9},startIndexItem:t,bBox:{width:8.4560546875,ba:7,bd:-1,aba:7,abd:-1,sp:-2,sbr:.5,sbo:0,spr:.5,spo:0},indentFirstLine:0,hanging:21,indentStart:0}}function Ba(r,t,e,n,s,i){var x,w;const a=e[t],{bulletAlignment:o,glyphFormat:u,textStyle:l,startNumber:c,glyphType:h,glyphSymbol:f,indentFirstLine:_,hanging:p,indentStart:m}=a,v={...s,...l},F=l2(v);let E;f?E=f:E=Oa(u,t,e,n);const S=ee.getTextSize(E,F),B=(w=(x=n==null?void 0:n[t])==null?void 0:x.startIndexItem)!=null?w:1;return{listId:r,symbol:E,ts:v,fontStyle:F,startIndexItem:B+1,bBox:S,nestingLevel:a,bulletAlign:o,bulletType:f?!1:!!h,indentFirstLine:_,hanging:p,indentStart:m}}function Oa(r,t,e,n){var o;const s=r.split("%"),a=[s[0]];for(let u=1;u<s.length;u++){const l=s[u],{level:c,suffix:h}=Aa(l);let f=((o=n==null?void 0:n[c])==null?void 0:o.startIndexItem)||1;c!==t&&(n==null?void 0:n[c])!==null&&(f-=1);const _=wa(f,e[c]);a.push(_,h)}return a.join("")}function wa(r=1,t){const{startNumber:e,glyphType:n,glyphSymbol:s}=t;return s||(n?ba(r,e,n):"●")}function Aa(r){if(r==="")return{level:0,suffix:""};const t=r.split("");let e="",n="",s=!1;const i=/[0-9]/g;return t.forEach(a=>{!s&&i.test(`${e}${a}`)?e+=a:(s=!0,n+=a)}),{level:Number.parseInt(e)-1,suffix:n}}function Ra(r,t){if(!r||!t)return;const{listId:e,nestingLevel:n}=r,s=t==null?void 0:t.get(e);let i=n;i<0&&(i=0);const a=[];for(let o=i;o>=0;o--){const u=s==null?void 0:s[o];a[o]=u||null}return a}function $a(r,t,e){if(!r||!t)return;const{listId:n,nestingLevel:s}=r,i=[...(e==null?void 0:e.get(n))||[]];i[s]=t,i.splice(s+1),e==null||e.set(n,i)}function ka(r){return{objectId:r.objectId,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:r}}function bn(r){return r.pageNumber+1}function Ia(r,t,e,n,s,i){const{lists:a,drawings:o={},localeService:u}=s,{endIndex:l,startIndex:c,blocks:h=[]}=n,f=e.getParagraph(l)||{startIndex:0},{paragraphStyle:_={},bullet:p}=f,{skeHeaders:m,skeFooters:v,skeListLevel:F,drawingAnchor:E}=i,S=new Map,B={paragraphIndex:l,paragraphStyle:_,paragraphAffectSkeDrawings:S,skeHeaders:m,skeFooters:v,drawingAnchor:E},x=Ra(p,F),w=xa(p,a,x);$a(p,w,F),B.bulletSkeleton=w;const O=new Map;for(let $=0,M=h.length;$<M;$++){const U=h[$],I=e.getCustomBlock(U);if(I==null)continue;O.set(U,I);const L=I.blockId,H=o[L];H.layoutType!==g.PositionedObjectLayoutType.INLINE&&S.set(L,ka(H))}let T=[t],R=!0,k=c;for(const{text:$,glyphs:M}of r){k+=$.length;const U=()=>{M.length!==0&&(T=la(M,T,s,B,R),R=!1)};if($.endsWith(g.DataStreamTreeTokenType.CUSTOM_BLOCK)){let I=O.get(k);if(I==null&&(I=e.getCustomBlock(k)),I!=null){const L=I.blockId;o[L].layoutType===g.PositionedObjectLayoutType.INLINE&&(T=ma())}U();continue}else if($.endsWith(g.DataStreamTreeTokenType.PAGE_BREAK)){U(),T.push($2(s,i,bn(T[T.length-1]),Ne.PAGE)),S.clear();continue}else if($.endsWith(g.DataStreamTreeTokenType.COLUMN_BREAK)){U();const I=T[T.length-1],L=q2(I);L&&!L.isLast?s4(L.column,!0):T.push($2(s,i,bn(I),Ne.COLUMN));continue}U()}return T}function La(r){switch(r){case"–":case"—":return .2;case".":case",":return .8;case":":case";":return .3;case"،":case"۔":return .4;default:return 0}}function Ma(r){const{glyphGroup:t}=r;let e=0;for(const n of t){const[s,i]=n.adjustability.shrinkability;e+=s+i}return e}function Pa(r){const{glyphGroup:t}=r;let e=0;for(const n of t){const[s,i]=n.adjustability.stretchability;e+=s+i}return e}function Na(r){const t=r.glyphGroup.filter(n=>n.isJustifiable).length,e=r.glyphGroup[r.glyphGroup.length-1];return h2(e.content)?t-1:t}function Ua(r,t,e){for(const n of r.glyphGroup){const s=t<0?n.adjustability.shrinkability[0]:n.adjustability.stretchability[0],i=t<0?n.adjustability.shrinkability[1]:n.adjustability.stretchability[1],a=s*t;let o=i*t;n.isJustifiable&&(o+=e),n.width+=a+o,n.xOffset+=a}p6(r.glyphGroup)}function Ha(r,t){const{divides:e}=r;for(let n=0;n<e.length;n++){const s=e[n],{width:i}=s;let a=n4(s);if(i!==Number.POSITIVE_INFINITY){if(s.isFull){let o=i-a;if(s.glyphGroup.length>1){const f=s.glyphGroup[s.glyphGroup.length-1],_=La(f.content)*f.width;o+=_}let u=0,l=0;const c=Ma(s),h=Pa(s);if(o<0&&c>0)u=Math.max(o/c,-1),o=Math.min(o+c,0);else if(t===g.HorizontalAlign.JUSTIFIED){h>0&&(u=Math.min(o/h,1),o=Math.max(o-h,0));const f=Na(s);f>0&&o>0&&(l=o/f,o=0)}(u!==0||l!==0)&&(Ua(s,u,l),a=n4(s))}t===g.HorizontalAlign.CENTER?s.paddingLeft=(i-a)/2:t===g.HorizontalAlign.RIGHT&&(s.paddingLeft=i-a)}}}function Ga(r){for(const t of r.divides){const e=t.glyphGroup[t.glyphGroup.length-1];if(t.isFull&&c2(e.content)&&e.width-e.xOffset>e.bBox.width){const n=e.width-e.xOffset-e.bBox.width;e.width-=n,e.adjustability.shrinkability[1]=0}}}function za(r){for(const t of r.divides){const e=t.glyphGroup.length;if(e<2)continue;const n=t.glyphGroup[0],s=t.glyphGroup[e-1];if(W2(n.content)){const i=n.adjustability.shrinkability[0];T4(n,i)}if(X2(s.content)){const i=s.adjustability.shrinkability[1];S4(s,i)}p6(t.glyphGroup)}}function Xa(r,t){Fr(r,e=>{if(e.paragraphIndex!==t.startIndex)return;const{paragraphStyle:n={}}=t,{horizontalAlign:s=g.HorizontalAlign.UNSPECIFIED}=n;za(e),Ga(e),Ha(e,s)})}function Wa(r,t,e,n,s){Tr();const{endIndex:i,content:a=""}=t,o=r.getParagraph(i)||{startIndex:0},{paragraphStyle:u={}}=o,l=q5(a,r,t,n,u),c=Ia(l,e,r,t,n,s);return Xa(c,o),c}function yn(r,t,e,n,s,i){const a=[],o=new Map;for(const u of t.children){let l=[],c=e;a.length>0&&(c=a[a.length-1]),u.nodeType===g.DataStreamTreeNodeType.PARAGRAPH?l=Wa(r,u,c,n,s):(u.nodeType,g.DataStreamTreeNodeType.TABLE),l.length===0&&(l=Ar()),Ya(a,l)}return{pages:a,renderedBlockIdMap:o}}function Ya(r,t){const e=r.length-1,n=r[e],s=t[0];n===s&&t.splice(0,1),r.push(...t)}const Va={columnProperties:[],columnSeparatorType:g.ColumnSeparatorType.NONE,sectionType:g.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0};class Je extends y.Skeleton{constructor(e,n){super(n);d(this,"_skeletonData");d(this,"_renderedBlockIdMap",new Map);d(this,"_findLiquid",new m2);this._docViewModel=e}static create(e,n){return new Je(e,n)}getViewModel(){return this._docViewModel}calculate(e){this.dirty&&(this._skeletonData=this._createSkeleton(e))}getSkeletonData(){return this._skeletonData}getActualSize(){const e=this.getSkeletonData();let n=Number.NEGATIVE_INFINITY,s=0;return e==null||e.pages.forEach(i=>{const{width:a,height:o}=i;n=Math.max(n,a),s+=o}),{actualWidth:n,actualHeight:s}}_getPageActualWidth(e){let n=Number.NEGATIVE_INFINITY;for(const s of e.sections)for(const i of s.columns)for(const a of i.lines){let o=0;for(const u of a.divides)for(const l of u.glyphGroup)o+=l.width;n=Math.max(n,o)}return n}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(e){const n=e.parent,s=n==null?void 0:n.parent,i=s==null?void 0:s.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,u=this.getSkeletonData();if(!n||!i||!a||!o||!u)return;const l=n.glyphGroup.indexOf(e),c=s.divides.indexOf(n),h=i.lines.indexOf(s),f=a.columns.indexOf(i),_=o.sections.indexOf(a),p=u.pages.indexOf(o);return{glyph:l,divide:c,line:h,column:f,section:_,page:p}}findNodePositionByCharIndex(e,n=!0){const s=this._findNodeIterator(e);if(s==null)return;const i=this.getSkeletonData();if(!i)return;const a=i.pages,{glyph:o,divide:u,line:l,column:c,section:h,page:f}=s;return{glyph:u.glyphGroup.indexOf(o),divide:l.divides.indexOf(u),line:c.lines.indexOf(l),column:h.columns.indexOf(c),section:f.sections.indexOf(h),page:a.indexOf(f),isBack:n}}findNodeByCharIndex(e){const n=this._findNodeIterator(e);return n==null?void 0:n.glyph}findGlyphByPosition(e){if(e==null)return;const n=this.getSkeletonData();if(n==null)return;const{divide:s,line:i,column:a,section:o,page:u,isBack:l}=e;let{glyph:c}=e;l===!0&&(c-=1),c=c<0?0:c;const h=n.pages[u].sections[o].columns[a].lines[i].divides[s].glyphGroup;return h[c].glyphType===A1.LIST?h[c+1]:h[c]}findNodeByCoord(e,n,s,i){const{x:a,y:o}=e;this._findLiquid.reset();const u=this.getSkeletonData();if(u==null)return;const l=u.pages;let c=[],h=[],f=Number.POSITIVE_INFINITY;for(let _=0,p=l.length;_<p;_++){const m=l[_];this._findLiquid.translatePagePadding(m);const v=m.sections;for(const F of v){const{columns:E,height:S}=F;this._findLiquid.translateSection(F);for(const B of E){const{lines:x,width:w}=B;this._findLiquid.translateColumn(B);const O=x.length;for(let T=0;T<O;T++){const R=x[T],{divides:k,type:$,lineHeight:M=0}=R;if($!==_2.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(R);const{y:U}=this._findLiquid,I=U,L=U+M,H=Math.abs(o-L),X=k.length;for(let j=0;j<X;j++){const G=k[j],{glyphGroup:Q,width:t1}=G;this._findLiquid.translateSave(),this._findLiquid.translateDivide(G);const{x:n1}=this._findLiquid;for(const a1 of Q){if(!a1.content||a1.content.length===0)continue;const{width:C1,left:D1}=a1,i1=n1+D1,o1=n1+D1+C1,p1=Math.abs(a-o1);if(o>=I&&o<=L){if(a>=i1&&a<=o1)return{node:a1,ratioX:a/(i1+o1),ratioY:o/(I+L)};f!==Number.NEGATIVE_INFINITY&&(c=[],h=[]),c.push({node:a1,ratioX:a/(i1+o1),ratioY:o/(I+L)}),h.push(p1),f=Number.NEGATIVE_INFINITY;continue}H<f&&(f=H,c=[],h=[]),H===f&&(c.push({node:a1,ratioX:a/(i1+o1),ratioY:o/(I+L)}),h.push(p1))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}}}this._findLiquid.restorePagePadding(m),this._translatePage(m,n,s,i)}return this._getNearestNode(c,h)}_getNearestNode(e,n){const s=Math.min(...n),i=n.indexOf(s);return e[i]}_getPageBoundingBox(e,n){const{pageWidth:s,pageHeight:i}=e,{x:a,y:o}=this._findLiquid;let u=-1,l=-1;return n===V1.VERTICAL?(u=s,l=o+i):n===V1.HORIZONTAL&&(u=a+s,l=i),{startX:a,startY:o,endX:u,endY:l}}_translatePage(e,n,s,i){this._findLiquid.translatePage(e,n,s,i)}_createSkeleton(e){var p1;const n={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},s=this.getViewModel(),{headerTreeMap:i,footerTreeMap:a}=s,{documentStyle:o,drawings:u,lists:l={}}=s.getDataModel(),c={...g.PRESET_LIST_TYPE,...l},{pageNumberStart:h=1,pageSize:f=n,pageOrient:_=g.PageOrientType.PORTRAIT,defaultHeaderId:p,defaultFooterId:m,evenPageHeaderId:v,evenPageFooterId:F,firstPageHeaderId:E,firstPageFooterId:S,useFirstPageHeaderFooter:B,useEvenPageHeaderFooter:x,marginTop:w=0,marginBottom:O=0,marginRight:T=0,marginLeft:R=0,marginHeader:k=0,marginFooter:$=0,charSpace:M=0,linePitch:U=15.6,gridType:I=g.GridType.LINES,paragraphLineGapDefault:L=0,defaultTabStop:H=10.5,textStyle:X={},renderConfig:j={horizontalAlign:g.HorizontalAlign.LEFT,verticalAlign:g.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:g.WrapStrategy.UNSPECIFIED}}=o,G={headerTreeMap:i,footerTreeMap:a,lists:c,drawings:u,charSpace:M,linePitch:U,gridType:I,localeService:this._localService,paragraphLineGapDefault:L,defaultTabStop:H,documentTextStyle:X},Q=this._getNullSke(),{skeHeaders:t1,skeFooters:n1,skeListLevel:a1,drawingAnchor:C1}=Q,D1={skeHeaders:t1,skeFooters:n1,skeListLevel:a1,drawingAnchor:C1},i1=[];Q.pages=i1;const o1=this.getViewModel();o1.resetCache();for(let l1=0,B1=o1.children.length;l1<B1;l1++){const v1=o1.children[l1],y1=o1.getSectionBreak(v1.endIndex)||Va,{pageNumberStart:z1=h,pageSize:O1=f,pageOrient:oe=_,marginTop:ye=w,marginBottom:ue=O,marginRight:le=T,marginLeft:ke=R,marginHeader:w1=k,marginFooter:Fe=$,defaultHeaderId:Ie=p,defaultFooterId:Le=m,evenPageHeaderId:T1=v,evenPageFooterId:L2=F,firstPageHeaderId:n2=E,firstPageFooterId:r2=S,useFirstPageHeaderFooter:M2=B,useEvenPageHeaderFooter:P2=x,columnProperties:ce=[],columnSeparatorType:Me=g.ColumnSeparatorType.NONE,contentDirection:N2,sectionType:Et,textDirection:l0,renderConfig:St=j}=y1,c0=o1.children[l1+1],n3=(p1=o1.getSectionBreak(c0==null?void 0:c0.endIndex))==null?void 0:p1.sectionType,nu={defaultHeaderId:Ie,evenPageHeaderId:T1,firstPageHeaderId:n2},ru={defaultFooterId:Le,evenPageFooterId:L2,firstPageFooterId:r2};O1.width===null&&(O1.width=Number.POSITIVE_INFINITY),O1.height===null&&(O1.height=Number.POSITIVE_INFINITY);const r3={pageNumberStart:z1,pageSize:O1,pageOrient:oe,marginTop:ye,marginBottom:ue,marginRight:le,marginLeft:ke,marginHeader:w1,marginFooter:Fe,headerIds:nu,footerIds:ru,useFirstPageHeaderFooter:M2,useEvenPageHeaderFooter:P2,columnProperties:ce,columnSeparatorType:Me,contentDirection:N2,sectionType:Et,sectionTypeNext:n3,textDirection:l0,renderConfig:St,...G};let s2=Xe(i1),s3=!1;Et===g.SectionType.CONTINUOUS?(t6(i1),this._addNewSectionByContinuous(s2,ce,Me),s3=!0):s2=$2(r3,D1,s2==null?void 0:s2.pageNumber);const su=yn(o1,v1,s2,r3,D1,this._renderedBlockIdMap);n3===g.SectionType.CONTINUOUS&&ce.length>0;const{pages:i3}=su;s3&&i3.splice(0,1),i1.push(...i3)}return t6(i1),this._setPageParent(i1,Q),Q}_setPageParent(e,n){for(const s of e)s.parent=n}_addNewSectionByContinuous(e,n,s){const i=e.sections,a=i[i.length-1],{pageWidth:o,pageHeight:u,marginTop:l,marginBottom:c,marginLeft:h,marginRight:f}=e,_=o-h-f,p=u-l-c,m=((a==null?void 0:a.top)||0)+((a==null?void 0:a.height)||0),v=r4(n,s,m,0,_,p-m);v.parent=e,i.push(v)}_getNullSke(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}_findNodeIterator(e){const n=this.getSkeletonData();if(!n)return;const s=n.pages;for(const i of s){const{sections:a,st:o,ed:u}=i;if(!(e<o||e>u))for(const l of a){const{columns:c,st:h,ed:f}=l;if(!(e<h||e>f))for(const _ of c){const{lines:p,st:m,ed:v}=_;if(!(e<m||e>v))for(const F of p){const{divides:E,st:S,ed:B}=F,x=E.length;if(!(e<S||e>B))for(let w=0;w<x;w++){const O=E[w],{glyphGroup:T,st:R,ed:k}=O;if(e<R||e>k)continue;let $=e-R;for(const M of T)if($-=M.count,$<0)return{page:i,section:l,column:_,line:F,divide:O,glyph:M}}}}}}}}class ae{constructor(t,e){d(this,"children",[]);d(this,"parent");d(this,"startIndex",-1);d(this,"endIndex",-1);d(this,"blocks",[]);this.nodeType=t,this.content=e}static create(t,e){return new ae(t,e)}dispose(){this.children.forEach(t=>{t.dispose()}),this.parent=null,this.blocks=[]}getProps(){const{children:t,parent:e,startIndex:n,endIndex:s,nodeType:i,content:a}=this;return{children:t,parent:e,startIndex:n,endIndex:s,nodeType:i,content:a}}addBlocks(t){this.blocks=this.blocks.concat(t)}setIndexRange(t,e){this.startIndex=t,this.endIndex=e}insertText(t,e){this.content=g.insertTextToContent(this.content||"",e-this.startIndex,t)}exclude(t){const{startIndex:e,endIndex:n}=this;return t<e||t>n}plus(t){this.startIndex+=t,this.endIndex+=t,this._addIndexForBlock(t)}selfPlus(t,e){this.endIndex+=t,e==null&&(e=this.startIndex),this._addIndexForBlock(t,e)}split(t){const{children:e,parent:n,startIndex:s,nodeType:i,content:a=""}=this.getProps();if(this.exclude(t))return;const o=0,u=t-s,l=u,c=a.slice(o,u),h=ae.create(i,c);h.parent=n,h.setIndexRange(o,u-1);const f=a.slice(l),_=ae.create(i,f);_.parent=n,_.setIndexRange(l,l+f.length-1);const p=[],m=[];for(const v of e){const{startIndex:F}=v;if(v.exclude(t))t<F?p.push(v):m.push(v);else{const E=v.split(t);if(E==null){p.push(v);continue}const{firstNode:S,lastNode:B}=E;p.push(S),p.push(B)}}return h.children=p,_.children=m,h._resetBlocks(),_._resetBlocks(),{firstNode:h,lastNode:_}}getPositionInParent(){var e;const t=(e=this.parent)==null?void 0:e.children.indexOf(this);return t==null?-1:t}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(t,e){const n=g.horizontalLineSegmentsSubtraction(this.startIndex,this.endIndex,t,e);if(n.length===0)return;const s=this.startIndex;this.startIndex=n[0],this.endIndex=n[1],this.content!=null&&(this.content=g.deleteContent(this.content||"",t-s,e-s+1))}merge(t){const{startIndex:e,endIndex:n,children:s}=t;this.endIndex+=n-e+1,this.children.push(...s),this.content+=t.content||"",t.remove()}_addIndexForBlock(t,e=Number.NEGATIVE_INFINITY){for(let n=0,s=this.blocks.length;n<s;n++){const i=this.blocks[n];i>=e&&(this.blocks[n]=i+t)}}_resetBlocks(){if(this.nodeType===g.DataStreamTreeNodeType.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let t=0,e=this.content.length;t<e;t++)this.content[t]===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+t)}}}class be{constructor(t){d(this,"children",[]);d(this,"_sectionBreakCurrentIndex",0);d(this,"_paragraphCurrentIndex",0);d(this,"_textRunCurrentIndex",0);d(this,"_customBlockCurrentIndex",0);d(this,"_tableBlockCurrentIndex",0);d(this,"_customRangeCurrentIndex",0);d(this,"headerTreeMap",new Map);d(this,"footerTreeMap",new Map);this._documentDataModel=t,t.getBody()!=null&&(this.children=this._transformToTree(t.getBody().dataStream),this._buildHeaderFooterViewModel())}dispose(){this.children.forEach(t=>{t.dispose()})}selfPlus(t,e){}getPositionInParent(){return 0}getLastIndex(){return this.children[this.children.length-1].endIndex}getBody(){return this._documentDataModel.getBody()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(t){return t==null?this:this.headerTreeMap.has(t)?this.headerTreeMap.get(t):this.footerTreeMap.has(t)?this.footerTreeMap.get(t):this}reset(t){this._documentDataModel=t,this.children=this._transformToTree(t.getBody().dataStream),this._buildHeaderFooterViewModel()}insert(t,e=0){var a;const n=t.dataStream;let s=n.length;const i=this._getParagraphByIndex(this.children,e);if(i!=null)if(n[s-1]===g.DataStreamTreeTokenType.SECTION_BREAK){const o=new g.DocumentDataModel({body:t}),u=new be(o);s-=1;const l=u.children;for(const _ of l)this._forEachDown(_,p=>{p.plus(e)});const c=i.split(e);if(c==null)return;const{firstNode:h,lastNode:f}=c;(a=i.parent)==null||a.children.splice(i.getPositionInParent(),1,h,...l,f),this._forEachTop(i.parent,_=>{_.selfPlus(s,_.getPositionInParent());const p=_.children;let m=!1;for(const v of p)v===f&&(m=!0),m&&this._forEachDown(v,F=>{F.plus(s)})})}else s===1&&n[s-1]===g.DataStreamTreeTokenType.PARAGRAPH?this._insertParagraph(i,e):(i.insertText(n,e),i.selfPlus(s,e),this._forEachTop(i.parent,o=>{o.selfPlus(s,o.getPositionInParent());const u=o.children;let l=!1;for(const c of u)c.startIndex>e&&(l=!0),l&&this._forEachDown(c,h=>{h.plus(s)})}))}delete(t,e){const n=this.children;this._deleteTree(n,t,e)}getText(){const t=[];function e(n){n.content&&t.push(n.content),n.children.forEach(e)}return this.children.forEach(n=>e(n)),t.join("")}resetCache(){this._sectionBreakCurrentIndex=0,this._paragraphCurrentIndex=0,this._textRunCurrentIndex=0,this._customBlockCurrentIndex=0,this._tableBlockCurrentIndex=0,this._customRangeCurrentIndex=0}getSectionBreak(t){if(t==null)return;const e=this.getBody().sectionBreaks;if(e!=null)for(let n=this._sectionBreakCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._sectionBreakCurrentIndex=n,s}}getParagraph(t){const e=this.getBody().paragraphs;if(e!=null)for(let n=this._paragraphCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._paragraphCurrentIndex=n,s}}getTextRunRange(t=0,e){const n=this.getBody().textRuns;if(n==null)return[{st:t,ed:e}];const s=[];for(let o=this._textRunCurrentIndex,u=n.length;o<u;o++){const l=n[o];if(l.st>e){this._textRunCurrentIndex=o;break}else if(l.ed<t){this._textRunCurrentIndex=o;continue}else s.push({st:l.st<t?t:l.st,ed:l.ed>e?e:l.ed,sId:l.sId,ts:l.ts}),this._textRunCurrentIndex=o}const i=s[0]||{st:e+1};i.st>t&&s.push({st:t,ed:i.st-1});const a=s[s.length-1]||{ed:t-1};return a.ed<e&&s.push({st:a.ed+1,ed:e}),s}getTextRun(t){const e=this.getBody().textRuns;if(e==null)return;const n=e[this._textRunCurrentIndex];if(n!=null){if(t>=n.st&&t<n.ed)return n;if(t<n.st)return}for(let s=this._textRunCurrentIndex,i=e.length;s<i;s++){const a=e[s];if(t>=a.st&&t<a.ed)return this._textRunCurrentIndex=s,a}}getCustomBlock(t){const e=this.getBody().customBlocks;if(e!=null)for(let n=this._customBlockCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._customBlockCurrentIndex=n,s}}getTable(t){const e=this.getBody().tables;if(e!=null)for(let n=this._tableBlockCurrentIndex;n<e.length;n++){const s=e[n];if(s.startIndex===t)return this._tableBlockCurrentIndex=n,s}}getCustomRange(t){const e=this.getBody().customRanges;if(e!=null)for(let n=0,s=e.length;n<s;n++){const i=e[n];if(t>=i.startIndex&&t<=i.endIndex)return i}}_transformToTree(t){const e=t.length;let n="";const s=[];let i=[],a=[];for(let o=0;o<e;o++){const u=t[o];if(u===g.DataStreamTreeTokenType.PARAGRAPH){n+=g.DataStreamTreeTokenType.PARAGRAPH;const l=ae.create(g.DataStreamTreeNodeType.PARAGRAPH,n);l.setIndexRange(o-n.length+1,o),l.addBlocks(a),i.push(l),n="",a=[]}else if(u===g.DataStreamTreeTokenType.SECTION_BREAK){const l=ae.create(g.DataStreamTreeNodeType.SECTION_BREAK);this._batchParent(l,i);const c=i[i.length-1];c&&c.content&&(c.content+=g.DataStreamTreeTokenType.SECTION_BREAK),s.push(l),i=[]}else u===g.DataStreamTreeTokenType.TABLE_START?i.push(ae.create(g.DataStreamTreeNodeType.TABLE)):u===g.DataStreamTreeTokenType.TABLE_ROW_START?i.push(ae.create(g.DataStreamTreeNodeType.TABLE_ROW)):u===g.DataStreamTreeTokenType.TABLE_CELL_START?i.push(ae.create(g.DataStreamTreeNodeType.TABLE_CELL)):u===g.DataStreamTreeTokenType.TABLE_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE):u===g.DataStreamTreeTokenType.TABLE_ROW_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE_ROW):u===g.DataStreamTreeTokenType.TABLE_CELL_END?this._processPreviousNodesUntil(i,g.DataStreamTreeNodeType.TABLE_CELL):(u===g.DataStreamTreeTokenType.CUSTOM_BLOCK&&a.push(o),n+=u)}return s}_processPreviousNodesUntil(t,e){const n=[];let s=t.pop();for(;s&&s.nodeType!==e;)n.push(s),s=t.pop();const i=t[t.length-1];if(this._batchParent(i,n,g.DataStreamTreeNodeType.TABLE),e===g.DataStreamTreeNodeType.TABLE_CELL){const a=n[0],o=n[n.length];a.content=g.DataStreamTreeTokenType.TABLE_CELL_START+a.content||"",a.startIndex-=1,o.content+=g.DataStreamTreeTokenType.TABLE_CELL_END,o.endIndex+=1}else if(e===g.DataStreamTreeNodeType.TABLE_ROW){const a=n[0].children[0];let o=n[n.length];o=o.children[o.children.length-1],a.content=g.DataStreamTreeTokenType.TABLE_ROW_START+a.content||"",a.startIndex-=1,o.content+=g.DataStreamTreeTokenType.TABLE_ROW_END,o.endIndex+=1}else if(e===g.DataStreamTreeNodeType.TABLE){const a=n[0].children[0].children[0];let o=n[n.length];o=o.children[o.children.length-1],o=o.children[o.children.length-1],a.content=g.DataStreamTreeTokenType.TABLE_START+a.content||"",a.startIndex-=1,o.content+=g.DataStreamTreeTokenType.TABLE_END,o.endIndex+=1}}_batchParent(t,e,n=g.DataStreamTreeNodeType.SECTION_BREAK){for(const i of e)i.parent=t,t.children.push(i);const s=n===g.DataStreamTreeNodeType.SECTION_BREAK?0:1;t.setIndexRange(e[0].startIndex-s,e[e.length-1].endIndex+1)}_buildHeaderFooterViewModel(){const{headerModelMap:t,footerModelMap:e}=this._documentDataModel;for(const[n,s]of t)this.headerTreeMap.set(n,new be(s));for(const[n,s]of e)this.footerTreeMap.set(n,new be(s))}_getParagraphByIndex(t,e){for(const n of t){const{children:s}=n;if(!n.exclude(e))return n.nodeType===g.DataStreamTreeNodeType.PARAGRAPH?n:this._getParagraphByIndex(s,e)}return null}_forEachTop(t,e){let n=t;for(;n;)e(n),n=n.parent;e(this)}_forEachDown(t,e){e(t);const n=t.children;for(t of n)this._forEachDown(t,e)}_deleteTree(t,e,n){const s=e,i=e+n-1;let a=null,o=t.length,u=0;for(;u<o;){const l=t[u],{startIndex:c,endIndex:h,children:f}=l;if(this._deleteTree(f,e,n),s===i&&i===h){if(l.nodeType===g.DataStreamTreeNodeType.PARAGRAPH){const _=this._getNextNode(l);if(_==null){u++;continue}l.minus(s,i),l.merge(_),o--}}else if(s<=c&&i>=h){l.remove(),o--;continue}else if(c<=s&&h>=i)l.minus(s,i);else if(i>c&&i<h){if(l.minus(c,i),a!=null){a.merge(l),a=null,o--;continue}}else s>c&&s<h?(l.minus(s,h),a=l):c>i&&l.plus(-n);u++}}_getNextNode(t){var s;const e=t.getPositionInParent(),n=(s=t.parent)==null?void 0:s.children;return n==null?void 0:n[e+1]}_insertParagraph(t,e=0){var u;const n=t.startIndex,s=t.endIndex,i=t.split(e);if(i==null)return;const{firstNode:a,lastNode:o}=i;a.content+=g.DataStreamTreeTokenType.PARAGRAPH,a.selfPlus(1),a.plus(n),this._forEachDown(o,l=>{l.plus(n+1)}),(u=t.parent)==null||u.children.splice(t.getPositionInParent(),1,a,o),this._forEachTop(t.parent,l=>{l.selfPlus(1,l.getPositionInParent());const c=l.children;let h=!1;for(const f of c)f!==o&&(f.startIndex>=s+1&&(h=!0),h&&this._forEachDown(f,_=>{_.plus(1)}))})}}var ja=Object.defineProperty,Ka=Object.getOwnPropertyDescriptor,qa=(r,t,e,n)=>{for(var s=n>1?void 0:n?Ka(t,e):t,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(n?a(t,e,s):a(s))||s);return n&&s&&ja(t,e,s),s},Fn=(r,t)=>(e,n)=>t(e,n,r);function k2(r,t=0){const e=r==null?void 0:r.getSkeletonData(),n=Y1(t);if(!e)return;const{pages:s}=e,i=s[s.length-1],{width:a,height:o}=i;if(n===0)return{width:a,height:o};if(Math.abs(n)===Math.PI/2)return{width:o,height:a};let u=0,l=0;const c=[];Cr([i],f=>{const{lines:_,width:p,spaceWidth:m}=f,{rotatedHeight:v,rotatedWidth:F}=Wt(_,p,n);l+=v,c.push({rotatedWidth:F,spaceWidth:m})});const h=c.length;for(let f=0;f<h;f++){const{rotatedWidth:_}=c[f];f===0&&(u+=_)}return{width:u,height:l}}const Cn={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},En={t:0,b:1,l:2,r:2},Sn="RENDER_RAW_FORMULA";y.SpreadsheetSkeleton=class extends y.Skeleton{constructor(e,n,s,i,a,o){super(a);d(this,"_rowHeightAccumulation",[]);d(this,"_columnWidthAccumulation",[]);d(this,"_rowTotalHeight",0);d(this,"_columnTotalWidth",0);d(this,"_rowHeaderWidth",0);d(this,"_columnHeaderHeight",0);d(this,"_rowColumnSegment",{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});d(this,"_dataMergeCache",[]);d(this,"_overflowCache",new g.ObjectMatrix);d(this,"_stylesCache",{background:{},backgroundPositions:new g.ObjectMatrix,font:{},border:new g.ObjectMatrix});d(this,"_renderedCellCache",new g.ObjectMatrix);d(this,"_showGridlines",g.BooleanNumber.TRUE);d(this,"_marginTop",0);d(this,"_marginLeft",0);d(this,"_renderRawFormula",!1);this._worksheet=e,this._worksheetData=n,this._cellData=s,this._styles=i,this._contextService=o,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._rowColumnSegment}get dataMergeCache(){return this._dataMergeCache}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}get worksheet(){return this._worksheet}static create(e,n,s,i,a,o){return new y.SpreadsheetSkeleton(e,n,s,i,a,o)}getCellData(){return this._cellData}getsStyles(){return this._styles}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(Sn).pipe(u1.startWith(!1),u1.distinctUntilChanged()).subscribe(e=>{this._renderRawFormula=e,this._resetCache(),this.makeDirty(!0)}))}setOverflowCache(e){this._overflowCache=e}setMarginLeft(e){this._marginLeft=e}setMarginTop(e){this._marginTop=e}calculateSegment(e){if(this._worksheetData&&(this._updateLayout(),!(!this._rowHeightAccumulation||!this._columnWidthAccumulation)))return e!=null&&(this._rowColumnSegment=this.getRowColumnSegment(e)),!0}calculateWithoutClearingCache(e){if(!this.calculateSegment(e))return;const{mergeData:n}=this._worksheetData;return this._dataMergeCache=n&&this._getMergeCells(n,this._rowColumnSegment),this._calculateStylesCache(),this}calculate(e){return this._resetCache(),this.calculateWithoutClearingCache(e),this}calculateAutoHeightInRange(e){var o;if(!g.Tools.isArray(e))return[];const n=[],{mergeData:s,rowData:i}=this._worksheetData,a=i;for(const u of e){const{startRow:l,endRow:c,startColumn:h,endColumn:f}=u;for(let _=l;_<=c;_++){if(n.some(({row:m})=>m===_)||((o=a[_])==null?void 0:o.ia)===g.BooleanNumber.FALSE)continue;if($0(_,h,f,s)){const m=this._calculateRowAutoHeight(_);n.push({row:_,autoHeight:m})}}}return n}_calculateRowAutoHeight(e){var c,h,f;const{columnCount:n,columnData:s,mergeData:i,defaultRowHeight:a,defaultColumnWidth:o}=this._worksheetData;let u=a;const l=this._worksheet;if(!l)return u;for(let _=0;_<n;_++){const{isMerged:p,isMergedMainCell:m}=d2(e,_,i);if(p||m)continue;const v=l.getCell(e,_);if(v!=null&&v.interceptorAutoHeight){u=Math.max(u,v.interceptorAutoHeight);continue}const F=v&&this._getCellDocumentModel(v);if(F==null)continue;const{documentModel:E,textRotation:S,wrapStrategy:B}=F;if(E==null)continue;const x=new be(E),{vertexAngle:w}=p2(S),O=(h=(c=s[_])==null?void 0:c.w)!=null?h:o;typeof O=="number"&&B===g.WrapStrategy.WRAP&&E.updateDocumentDataPageSize(O);const T=Je.create(x,this._localService);T.calculate();let{height:R=0}=(f=k2(T,w))!=null?f:{};if(T){const k=T.getSkeletonData(),{marginTop:$,marginBottom:M,marginLeft:U,marginRight:I}=k.pages[k.pages.length-1],L=Math.abs(Y1(w));R+=$*Math.cos(L)+I*Math.sin(L)+M*Math.cos(L)+U*Math.sin(L)}u=Math.max(u,R)}return Math.min(u,g0)}_updateLayout(){if(!this.dirty)return;const{rowData:e,columnData:n,defaultRowHeight:s,defaultColumnWidth:i,rowCount:a,columnCount:o,rowHeader:u,columnHeader:l,showGridlines:c}=this._worksheetData,{rowTotalHeight:h,rowHeightAccumulation:f}=this._generateRowMatrixCache(a,e,s),{columnTotalWidth:_,columnWidthAccumulation:p}=this._generateColumnMatrixCache(o,n,i);return this._rowHeaderWidth=u.hidden!==g.BooleanNumber.TRUE?this._dynamicallyUpdateRowHeaderWidth(u):0,this._columnHeaderHeight=l.hidden!==g.BooleanNumber.TRUE?l.height:0,this._rowTotalHeight=h,this._rowHeightAccumulation=f,this._columnTotalWidth=_,this._columnWidthAccumulation=p,this._showGridlines=c,this.makeDirty(!1),this}_dynamicallyUpdateRowHeaderWidth(e){var i;const s=`${(i=this._worksheet)==null?void 0:i.getRowCount()}`.length*8;return Math.max(e.width,s)}getRowColumnSegment(e){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,e==null?void 0:e.viewBound)}getWorksheetConfig(){return this._worksheetData}getRowColumnSegmentByViewBound(e){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,e)}getMergeBounding(e,n,s,i){const a=this._worksheetData.mergeData;if(!a)return{startRow:e,startColumn:n,endRow:s,endColumn:i};let o=!0;const u=new g.ObjectMatrix;for(;o;){o=!1;for(let l=0;l<a.length;l++){const{startRow:c,startColumn:h,endRow:f,endColumn:_}=a[l];if(u.getValue(c,h))continue;k0({left:n,top:e,right:i,bottom:s},{left:h,top:c,right:_,bottom:f})&&(e=Math.min(e,c),n=Math.min(n,h),s=Math.max(s,f),i=Math.max(i,_),u.setValue(c,h,!0),o=!0)}}return{startRow:e,startColumn:n,endRow:s,endColumn:i}}appendToOverflowCache(e,n,s,i){this._overflowCache.setValue(e,n,{startRow:e,endRow:e,startColumn:s,endColumn:i})}getColumnCount(){return this._columnWidthAccumulation.length}getRowCount(){return this._rowHeightAccumulation.length}getOverflowPosition(e,n,s,i,a){const{width:o}=e;let u=i,l=i;return n===g.HorizontalAlign.CENTER?(u=this._getOverflowBound(s,i,0,o/2,n),l=this._getOverflowBound(s,i,a-1,o/2,n)):n===g.HorizontalAlign.RIGHT?u=this._getOverflowBound(s,i,0,o):l=this._getOverflowBound(s,i,a-1,o),{startColumn:u,endColumn:l}}getNoMergeCellPositionByIndex(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:o}=this;let{startY:u,endY:l,startX:c,endX:h}=Ce(e,n,s,i);return u+=o,l+=o,c+=a,h+=a,{startY:u,endY:l,startX:c,endX:h}}getNoMergeCellPositionByIndexWithNoHeader(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,{startY:a,endY:o,startX:u,endX:l}=Ce(e,n,s,i);return{startY:a,endY:o,startX:u,endX:l}}calculateCellIndexByPosition(e,n,s,i,a){const{row:o,column:u}=this.getCellPositionByOffset(e,n,s,i,a);return this.getCellByIndex(o,u)}getCellPositionByOffset(e,n,s,i,a){const o=this.getRowPositionByOffsetY(n,i,a),u=this.getColumnPositionByOffsetX(e,s,a);return{row:o,column:u}}getColumnPositionByOffsetX(e,n,s){e=this.getTransformOffsetX(e,n,s);const{columnWidthAccumulation:i}=this;let a=g.searchArray(i,e);return a===Number.POSITIVE_INFINITY?a=i.length-1:a===-1&&(a=0),a}getRowPositionByOffsetY(e,n,s){const{rowHeightAccumulation:i}=this;e=this.getTransformOffsetY(e,n,s);let a=g.searchArray(i,e);return a===Number.POSITIVE_INFINITY?a=i.length-1:a===-1&&(a=0),a}getTransformOffsetX(e,n,s){const{x:i}=s;return e=e/n+i-this.rowHeaderWidthAndMarginLeft,e}getTransformOffsetY(e,n,s){const{y:i}=s;return e=e/n+i-this.columnHeaderHeightAndMarginTop,e}getOffsetByPositionX(e){const{columnWidthAccumulation:n,rowHeaderWidthAndMarginLeft:s}=this,i=n.length-1,a=n[e];return a!=null?a+s:e<0?s:n[i]+s}getOffsetByPositionY(e){const{rowHeightAccumulation:n,columnHeaderHeightAndMarginTop:s}=this,i=n.length-1,a=n[e];return a!=null?a+s:e<0?s:n[i]+s}getCellByIndex(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:a,columnHeaderHeightAndMarginTop:o}=this,u=Pe(e,n,s,i,this._worksheetData.mergeData),{isMerged:l,isMergedMainCell:c}=u;let{startY:h,endY:f,startX:_,endX:p,mergeInfo:m}=u;return h+=o,f+=o,_+=a,p+=a,m=Nt(m,a,o),{actualRow:e,actualColumn:n,startY:h,endY:f,startX:_,endX:p,isMerged:l,isMergedMainCell:c,mergeInfo:m}}getCellByIndexWithNoHeader(e,n){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,a=Pe(e,n,s,i,this._worksheetData.mergeData),{isMerged:o,isMergedMainCell:u}=a,{startY:l,endY:c,startX:h,endX:f,mergeInfo:_}=a,p=Nt(_,0,0);return{actualRow:e,actualColumn:n,startY:l,endY:c,startX:h,endX:f,isMerged:o,isMergedMainCell:u,mergeInfo:p}}convertTransformToOffsetX(e,n,s){const{x:i}=s;return e=(e-i)*n,e}convertTransformToOffsetY(e,n,s){const{y:i}=s;return e=(e-i)*n,e}getSelectionBounding(e,n,s,i){return this.getMergeBounding(e,n,s,i)}getBlankCellDocumentModel(e){const n=this._getCellDocumentModel(e,{ignoreTextRotation:!0});if(n!=null)return n.documentModel==null&&(n.documentModel=this._getDocumentDataByStyle("",{},{})),n;const s="";let i="document";const a={a:0,v:g.BooleanNumber.FALSE},o=g.HorizontalAlign.UNSPECIFIED,u=g.VerticalAlign.UNSPECIFIED,l=g.WrapStrategy.UNSPECIFIED,c=En;return i=l2({},this._localService).fontCache,{documentModel:this._getDocumentDataByStyle(s,{},{}),fontString:i,textRotation:a,wrapStrategy:l,verticalAlign:u,horizontalAlign:o,paddingData:c}}getCellDocumentModelWithFormula(e){return this._getCellDocumentModel(e,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(e,n=Cn){var v;const{isDeepClone:s,displayRawFormula:i,ignoreTextRotation:a}={...Cn,...n},o=this._styles.getStyleByCell(e);if(!e)return;let u,l="document";const c=this._getOtherStyle(o),h=a?{a:0,v:g.BooleanNumber.FALSE}:c.textRotation||{a:0,v:g.BooleanNumber.FALSE};let f=c.horizontalAlign||g.HorizontalAlign.UNSPECIFIED;const _=c.verticalAlign||g.VerticalAlign.UNSPECIFIED,p=c.wrapStrategy||g.WrapStrategy.UNSPECIFIED,m=c.paddingData||En;if(e.f&&i)u=this._getDocumentDataByStyle(e.f.toString(),{},{verticalAlign:_}),f=g.HorizontalAlign.UNSPECIFIED;else if(e.p){const{centerAngle:F,vertexAngle:E}=p2(h);u=this._updateConfigAndGetDocumentModel(s?g.Tools.deepClone(e.p):e.p,f,{horizontalAlign:f,verticalAlign:_,centerAngle:F,vertexAngle:E,wrapStrategy:p})}else if(e.v!=null){const F=this._getFontFormat(o);l=l2(F,this._localService).fontCache;let E=g.extractPureTextFromCell(e);e.t===g.CellValueType.FORCE_STRING&&i&&(E=`'${E}`),u=this._getDocumentDataByStyle(E,F,{...c,textRotation:h,cellValueType:e.t})}return{documentModel:u,fontString:l,textRotation:h,wrapStrategy:p,verticalAlign:_,horizontalAlign:f,paddingData:m,fill:(v=o==null?void 0:o.bg)==null?void 0:v.rgb}}getDecomposedOffset(e,n){let s=g.searchArray(this._columnWidthAccumulation,e),i=0;s===-1||s===0?(s=0,i=e):i=e-this._columnWidthAccumulation[s-1];let a=g.searchArray(this._rowHeightAccumulation,n),o=0;return a===-1||a===0?(a=0,o=n):o=n-this._rowHeightAccumulation[a-1],{row:a,column:s,columnOffset:i,rowOffset:o}}_calculateOverflowCell(e,n,s){const{documentSkeleton:i,vertexAngle:a=0,centerAngle:o=0,horizontalAlign:u,wrapStrategy:l}=s,c=this._cellData.getValue(e,n),{t:h=g.CellValueType.STRING}=c||{};let f=u;if(u===g.HorizontalAlign.UNSPECIFIED&&(o===S1&&a===S1?f=g.HorizontalAlign.CENTER:(a>0&&a!==S1||a===-S1)&&(f=g.HorizontalAlign.RIGHT)),(l===g.WrapStrategy.OVERFLOW||l===g.WrapStrategy.UNSPECIFIED)&&h!==g.CellValueType.NUMBER&&h!==g.CellValueType.BOOLEAN&&u!==g.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(e,n))return!0;let _=k2(i,a);if(!_)return!0;if(a!==0){const{startY:F,endY:E,startX:S,endX:B}=Pe(e,n,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),x=B-S,w=E-F;_.height>w&&(_={width:w/Math.tan(Math.abs(a))+x,height:w})}const p=this.getOverflowPosition(_,f,e,n,this.getColumnCount()),{startColumn:m,endColumn:v}=p;if(m===v)return!0;this.appendToOverflowCache(e,n,m,v)}else if(l===g.WrapStrategy.WRAP&&a!==0){if(this.intersectMergeRange(e,n))return!0;const{startY:_,endY:p}=Pe(e,n,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),m=p-_;i.getViewModel().getDataModel().updateDocumentDataPageSize(m),i.calculate();const v=k2(i,a);if(!v)return!0;const{startColumn:F,endColumn:E}=this.getOverflowPosition(v,f,e,n,this.getColumnCount());if(F===E)return!0;this.appendToOverflowCache(e,n,F,E)}}_getBounding(e,n,s){const i=e.length,a=n.length;if(!s)return{startRow:0,endRow:i-1,startColumn:0,endColumn:a-1};let o=-1,u=-1,l=-1,c=-1;const h=g.searchArray(e,Math.round(s.top)-this.columnHeaderHeightAndMarginTop),f=g.searchArray(e,Math.round(s.bottom)-this.columnHeaderHeightAndMarginTop);h===-1&&f===0?(o=-1,u=-1):(h===-1?o=0:o=h,f===Number.POSITIVE_INFINITY||f>=i?u=i-1:u=f);const _=g.searchArray(n,Math.round(s.left)-this.rowHeaderWidthAndMarginLeft),p=g.searchArray(n,Math.round(s.right)-this.rowHeaderWidthAndMarginLeft);return _===-1&&p===0?(l=-1,c=-1):(_===-1?l=0:l=_,p===Number.POSITIVE_INFINITY||p>=a?c=a-1:c=p),{startRow:o,endRow:u,startColumn:l,endColumn:c}}_generateRowMatrixCache(e,n,s){var u;let i=0;const a=[],o=n;for(let l=0;l<e;l++){let c=s;if((u=this._worksheet)!=null&&u.getRowFiltered(l))c=0;else if(o[l]!=null){const h=o[l];if(!h)continue;const{h:f=s,ah:_,ia:p}=h;(p==null||p===g.BooleanNumber.TRUE)&&typeof _=="number"?c=_:c=f,h.hd===g.BooleanNumber.TRUE&&(c=0)}i+=c,a.push(i)}return{rowTotalHeight:i,rowHeightAccumulation:a}}_generateColumnMatrixCache(e,n,s){let i=0;const a=[],o=n;for(let u=0;u<e;u++){let l=s;if(o[u]!=null){const c=o[u];if(!c)continue;c.w!=null&&(l=c.w),c.hd===g.BooleanNumber.TRUE&&(l=0)}i+=l,a.push(i)}return{columnTotalWidth:i,columnWidthAccumulation:a}}_getOverflowBound(e,n,s,i,a=g.HorizontalAlign.LEFT){var u,l;let o=0;if(n>s){const c=this._columnWidthAccumulation.length-1;for(let h=n;h>=s;h--){const f=h,_=(u=this._worksheet)==null?void 0:u.getCell(e,f);if(!g.isEmptyCell(_)&&f!==n||this.intersectMergeRange(e,f))return f===n?f:f+1>c?c:f+1;const{startX:p,endX:m}=Ce(e,f,this.rowHeightAccumulation,this.columnWidthAccumulation);if(a===g.HorizontalAlign.CENTER&&f===n?o+=(m-p)/2:o+=m-p,i<o)return f}return n}for(let c=n;c<=s;c++){const h=c,f=(l=this._worksheet)==null?void 0:l.getCell(e,h);if(!g.isEmptyCell(f)&&h!==n||this.intersectMergeRange(e,h))return h===n?h:h-1<0?0:h-1;const{startX:_,endX:p}=Ce(e,h,this.rowHeightAccumulation,this.columnWidthAccumulation);if(a===g.HorizontalAlign.CENTER&&h===n?o+=(p-_)/2:o+=p-_,i<o)return h}return s}intersectMergeRange(e,n){const s=this.dataMergeCache;for(const i of s){const{startRow:a,endRow:o,startColumn:u,endColumn:l}=i;if(e>=a&&e<=o&&n>=u&&n<=l)return!0}return!1}_calculateStylesCache(){const e=this._dataMergeCache,n=this._rowColumnSegment,s=this.columnWidthAccumulation,{startRow:i,endRow:a,startColumn:o,endColumn:u}=n;if(!(u===-1||a===-1)){for(const l of e)this._setCellCache(l.startRow,l.startColumn,!1,l);for(let l=i;l<=a;l++){for(let c=o;c<=u;c++)this._setCellCache(l,c,!1);for(let c=0;c<o;c++)this._setCellCache(l,c,!0);if(u!==0)for(let c=u+1;c<s.length;c++)this._setCellCache(l,c,!0)}}}_resetCache(){this._stylesCache={background:{},backgroundPositions:new g.ObjectMatrix,font:{},border:new g.ObjectMatrix},this._renderedCellCache=new g.ObjectMatrix,this._overflowCache.reset()}_makeDocumentSkeletonDirty(e,n){if(this._stylesCache.font==null)return;const s=Object.keys(this._stylesCache.font);for(const i of s){const a=this._stylesCache.font[i];if(a!=null&&a.getValue(e,n)){a.getValue(e,n).documentSkeleton.makeDirty(!0);return}}}_setCellCache(e,n,s,i){var w;const a=this._renderedCellCache.getValue(e,n);if(e===-1||n===-1)return!0;if(a===!1)return this._makeDocumentSkeletonDirty(e,n),!0;if(!this._worksheet)return!0;const o=this._worksheet.getCell(e,n)||this._worksheet.getCellRaw(e,n);if(!o)return!0;if(this._worksheet.getColVisible(n)===!1||this._worksheet.getRowVisible(e)===!1){const{isMerged:O,isMergedMainCell:T}=d2(e,n,this._dataMergeCache);if(O&&!T)return!0;if(!T)return!0}const l=this._stylesCache,c=this._styles.getStyleByCell(o);if(!s&&c&&c.bg&&c.bg.rgb){const O=c.bg.rgb;l.background[O]||(l.background[O]=new g.ObjectMatrix),l.background[O].setValue(e,n,O);const R=this.getCellByIndexWithNoHeader(e,n);(w=l.backgroundPositions)==null||w.setValue(e,n,R)}if(!s&&c&&c.bd&&(i?(this._setMergeBorderProps(q.TOP,l,i),this._setMergeBorderProps(q.BOTTOM,l,i),this._setMergeBorderProps(q.LEFT,l,i),this._setMergeBorderProps(q.RIGHT,l,i)):this.intersectMergeRange(e,n)||(this._setBorderProps(e,n,q.TOP,c,l),this._setBorderProps(e,n,q.BOTTOM,c,l),this._setBorderProps(e,n,q.LEFT,c,l),this._setBorderProps(e,n,q.RIGHT,c,l)),this._setBorderProps(e,n,q.TL_BR,c,l),this._setBorderProps(e,n,q.TL_BC,c,l),this._setBorderProps(e,n,q.TL_MR,c,l),this._setBorderProps(e,n,q.BL_TR,c,l),this._setBorderProps(e,n,q.ML_TR,c,l),this._setBorderProps(e,n,q.BC_TR,c,l)),a===!0)return this._makeDocumentSkeletonDirty(e,n),!0;if(g.isNullCell(o))return;const h=o&&this._getCellDocumentModel(o,{displayRawFormula:this._renderRawFormula});if(h==null)return;const{documentModel:f}=h;if(f==null)return;const{fontString:_,textRotation:p,wrapStrategy:m,verticalAlign:v,horizontalAlign:F}=h,E=new be(f);l.font[_]||(l.font[_]=new g.ObjectMatrix);const S=l.font[_],{vertexAngle:B,centerAngle:x}=p2(p);if(E){const O=Je.create(E,this._localService);O.calculate();const T={documentSkeleton:O,vertexAngle:B,centerAngle:x,verticalAlign:v,horizontalAlign:F,wrapStrategy:m};S.setValue(e,n,T),this._calculateOverflowCell(e,n,T)}s?this._renderedCellCache.setValue(e,n,!0):this._renderedCellCache.setValue(e,n,!1)}_updateConfigAndGetDocumentModel(e,n,s){var a;if(!s||!((a=e.body)!=null&&a.dataStream))return;e.documentStyle||(e.documentStyle={}),e.documentStyle.pageSize={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},e.documentStyle.renderConfig=s;const i=e.body.paragraphs||[];for(const o of i)o.paragraphStyle||(o.paragraphStyle={}),o.paragraphStyle.horizontalAlign=n;return new g.DocumentDataModel(e)}_getDocumentDataByStyle(e,n,s){const i=e.length,{textRotation:a,paddingData:o={t:0,r:2,b:1,l:2},horizontalAlign:u=g.HorizontalAlign.UNSPECIFIED,verticalAlign:l=g.VerticalAlign.UNSPECIFIED,wrapStrategy:c=g.WrapStrategy.UNSPECIFIED,cellValueType:h}=s,{t:f,r:_,b:p,l:m}=o||{},{vertexAngle:v,centerAngle:F}=p2(a),E={id:"d",body:{dataStream:`${e}${g.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:n,st:0,ed:i}],paragraphs:[{startIndex:i,paragraphStyle:{horizontalAlign:u}}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginTop:f,marginBottom:p,marginRight:_,marginLeft:m,renderConfig:{horizontalAlign:u,verticalAlign:l,centerAngle:F,vertexAngle:v,wrapStrategy:c,cellValueType:h}}};return new g.DocumentDataModel(E)}_setMergeBorderProps(e,n,s){var h;if(!this._worksheet||!n.border)return;const i=[];let a=!0,o=s.startRow,u=s.endRow,l=s.startRow,c=s.startColumn;e===q.TOP?(l=s.startRow,o=s.startColumn,u=s.endColumn):e===q.BOTTOM?(l=s.endRow,o=s.startColumn,u=s.endColumn):e===q.LEFT?(c=s.startColumn,o=s.startRow,u=s.endRow):e===q.RIGHT&&(c=s.endColumn,o=s.startRow,u=s.endRow);for(let f=o;f<=u;f++){e===q.TOP||e===q.BOTTOM?c=f:(e===q.LEFT||e===q.RIGHT)&&(l=f);const _=this._worksheet.getCell(l,c);if(!_){a=!1;break}const p=this._styles.getStyleByCell(_);if(!p){a=!1;break}const m=(h=p.bd)==null?void 0:h[e];if(m){const v=g.getColorStyle(m.cl)||he;i.push({r:l,c,style:m.s,color:v})}else a=!1}a&&i.forEach(f=>{const{r:_,c:p,style:m,color:v}=f;n.border.getValue(_,p)||n.border.setValue(_,p,{}),n.border.getValue(_,p)[e]={type:e,style:m,color:v}})}_setBorderProps(e,n,s,i,a){var c,h,f;const o=(c=i.bd)==null?void 0:c[s];if(!o||!a.border)return!0;const u=g.getColorStyle(o.cl)||he,l=a.border;if(l.getValue(e,n)||l.setValue(e,n,{[s]:{}}),s===q.TOP){if(((h=l.getValue(e-1,n))==null?void 0:h[q.BOTTOM])&&g.isWhiteColor(u))return!0}else if(s===q.LEFT&&((f=l.getValue(e,n-1))==null?void 0:f[q.RIGHT])&&g.isWhiteColor(u))return!0;l.getValue(e,n)[s]={type:s,style:o.s,color:u}}_getFontFormat(e){if(!e)return{};const{ff:n,fs:s,it:i,bl:a,ul:o,st:u,ol:l,cl:c}=e,h={};return n&&(h.ff=n),s&&(h.fs=s),i&&(h.it=i),a&&(h.bl=a),o&&(h.ul=o),u&&(h.st=u),l&&(h.ol=l),c&&(h.cl=c),h}_getOtherStyle(e){if(!e)return{};const{tr:n,td:s,ht:i,vt:a,tb:o,pd:u}=e;return{textRotation:n,textDirection:s,horizontalAlign:i,verticalAlign:a,wrapStrategy:o,paddingData:u}}_getMergeCells(e,n){const s=this.columnWidthAccumulation.length-1;n?n={startRow:n.startRow,endRow:n.endRow,endColumn:s,startColumn:0}:n={startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:s};const{startRow:i,startColumn:a,endRow:o,endColumn:u}=n,l=[];for(let c=0;c<e.length;c++){const{startRow:h,endRow:f,startColumn:_,endColumn:p}=e[c];for(let m=i;m<=o;m++){let v=!1;for(let F=a;F<=u;F++)if(m>=h&&m<=f&&F>=_&&F<=p){l.push({startRow:h,endRow:f,startColumn:_,endColumn:p}),v=!0;break}if(v)break}}return l}},y.SpreadsheetSkeleton=qa([Fn(4,E1.Inject(g.LocaleService)),Fn(5,g.IContextService)],y.SpreadsheetSkeleton);const Za="DefaultFontExtension",Ja=30;class Tn extends de{constructor(){super(...arguments);d(this,"uKey",Za);d(this,"Z_INDEX",Ja)}getDocuments(){const e=this.parent;return e==null?void 0:e.getDocuments()}draw(e,n,s,i){const{stylesCache:a,dataMergeCache:o,overflowCache:u,worksheet:l}=s,{font:c}=a;if(!s||!l)return;const{rowHeightAccumulation:h,columnTotalWidth:f,columnWidthAccumulation:_,rowTotalHeight:p}=s;if(!h||!_||f===void 0||p===void 0||!l)return;e.save();const m=this._getScale(n);c&&Object.keys(c).forEach(v=>{c[v].forValue((E,S,B)=>{var C1,D1,i1,o1,p1;const x=this.getCellIndex(E,S,h,_,o);let{startY:w,endY:O,startX:T,endX:R}=x;const{isMerged:k,isMergedMainCell:$,mergeInfo:M}=x;if(k||($&&(w=M.startY,O=M.endY,T=M.startX,R=M.endX),!this.isRenderDiffRangesByRow(M.startRow,M.endRow,i)))return!0;const U=l.getCell(E,S)||{};if((C1=U.fontRenderExtension)!=null&&C1.isSkip)return!0;const I=u.getValue(E,S),{horizontalAlign:L,vertexAngle:H=0,centerAngle:X=0}=B;let j=L;L===g.HorizontalAlign.UNSPECIFIED&&(X===S1&&H===S1?j=g.HorizontalAlign.CENTER:(H>0&&H!==S1||H===-S1)&&(j=g.HorizontalAlign.RIGHT)),e.save(),e.beginPath();const G=(i1=(D1=U.fontRenderExtension)==null?void 0:D1.rightOffset)!=null?i1:0,Q=(p1=(o1=U.fontRenderExtension)==null?void 0:o1.leftOffset)!=null?p1:0;let t1=!0;H===0&&(T=T+Q,R=R-G,(G!==0||Q!==0)&&(t1=!1));const n1=R-T,a1=O-w;if(I&&t1){const{startColumn:l1,startRow:B1,endColumn:v1,endRow:y1}=I;l1===v1&&l1===S?(e.rectByPrecision(T+1/m,w+1/m,n1-2/m,a1-2/m),e.clip(),e.clearRectForTexture(T+1/m,w+1/m,n1-2/m,a1-2/m)):j===g.HorizontalAlign.CENTER?this._clipRectangle(e,B1,y1,l1,v1,m,h,_):j===g.HorizontalAlign.RIGHT?this._clipRectangle(e,B1,E,l1,S,m,h,_):this._clipRectangle(e,E,y1,S,v1,m,h,_)}else e.rectByPrecision(T+1/m,w+1/m,n1-2/m,a1-2/m),e.clip(),e.clearRectForTexture(T+1/m,w+1/m,n1-2/m,a1-2/m);e.translate(T+g1,w+g1),this._renderDocuments(e,B,T,w,R,O,E,S,u),e.restore()})}),e.restore()}_renderDocuments(e,n,s,i,a,o,u,l,c){const h=this.getDocuments();if(h==null)throw new Error("documents is null");const{documentSkeleton:f,vertexAngle:_=0,wrapStrategy:p}=n,m=a-s,v=o-i;p===g.WrapStrategy.WRAP&&_===0?(f.getViewModel().getDataModel().updateDocumentDataPageSize(m),f.calculate()):f.getViewModel().getDataModel().updateDocumentDataPageSize(Number.POSITIVE_INFINITY);const F=c.getValue(u,l);if(!(p===g.WrapStrategy.WRAP&&!F&&_===0)){const E=k2(f),S=f.getViewModel().getDataModel().getSnapshot().documentStyle;if(E&&S){const{width:B}=E,{marginRight:x=0,marginLeft:w=0}=S;f.getViewModel().getDataModel().updateDocumentDataPageSize(B+w+x),f.calculate()}}f.makeDirty(!1),h.resize(m,v),h.changeSkeleton(f).render(e)}_clipRectangle(e,n,s,i,a,o,u,l){const c=u[n-1]||0,h=u[s]||u[u.length-1],f=l[i-1]||0,_=l[a]||l[l.length-1];e.rectByPrecision(f,c,_-f,h-c),e.clip(),e.clearRectForTexture(f,c,_-f,h-c)}}Se.add(Tn);const Qa="DefaultRowHeaderLayoutExtension";class xn extends de{constructor(){super(...arguments);d(this,"uKey",Qa);d(this,"Z_INDEX",10)}draw(e,n,s){const{rowColumnSegment:i,rowHeaderWidth:a=0}=s,{startRow:o,endRow:u}=i;if(!s||a===0)return;const{rowHeightAccumulation:l,columnTotalWidth:c,columnWidthAccumulation:h,rowTotalHeight:f}=s;if(!l||!h||c===void 0||f===void 0)return;const _=this._getScale(n);e.fillStyle=F1([248,249,250]),e.fillRectByPrecision(0,0,a,f),e.textAlign="center",e.textBaseline="middle",e.fillStyle=F1([0,0,0]),e.beginPath(),e.setLineWidthByPrecision(1),e.translateWithPrecisionRatio(g1,g1),e.strokeStyle=F1([217,217,217]),e.font=`13px ${i2}`;let p=0;const m=l.length;for(let F=o-1;F<=u;F++){if(F<0||F>m-1)continue;const E=l[F];if(p===E)continue;e.moveToByPrecision(0,E),e.lineToByPrecision(a,E);const S=p+(E-p)/2;e.fillText(`${F+1}`,a/2,S+xt),p=E}const v=a-.5/_;e.moveToByPrecision(v,0),e.lineToByPrecision(v,f),e.stroke()}}qt.add(new xn);const eo="DefaultMarkerExtension",to=60,no=r=>{const{startRow:t,endRow:e,startColumn:n,endColumn:s}=r;return`${t}-${e}-${n}-${s}`};class Bn extends de{constructor(){super(...arguments);d(this,"Z_INDEX",to);d(this,"uKey",eo)}draw(e,n,s,i){const{worksheet:a,rowColumnSegment:o}=s;if(!a)return;const u=new Set;g.Range.foreach(o,(l,c)=>{var B,x,w,O;let h=a.getCell(l,c);const f=this.getCellIndex(l,c,s.rowHeightAccumulation,s.columnWidthAccumulation,s.dataMergeCache),{isMerged:_,isMergedMainCell:p,mergeInfo:m}=f;let{startY:v,endY:F,startX:E,endX:S}=f;if((p||_)&&(v=m.startY,F=m.endY,E=m.startX,S=m.endX),_){const T={row:m.startRow,col:m.startColumn};h=a.getCell(T.row,T.col)}if(!this.isRenderDiffRangesByRow(m.startRow,m.endRow,i))return!0;if(f.isMerged||f.isMergedMainCell){const T=no(m);if(u.has(T))return;u.add(T)}if(!(!a.getColVisible(c)||!a.getRowRawVisible(l))&&h){if((B=h.markers)!=null&&B.tr){e.save();const T=h.markers.tr,R=S,k=v;e.fillStyle=T.color,e.moveTo(R,k),e.beginPath(),e.lineTo(R-T.size,k),e.lineTo(R,k+T.size),e.lineTo(R,k),e.closePath(),e.fill(),e.restore()}if((x=h.markers)!=null&&x.tl){e.save();const T=h.markers.tl,R=E,k=v;e.fillStyle=T.color,e.moveTo(R,k),e.beginPath(),e.lineTo(R+T.size,k),e.lineTo(R,k+T.size),e.lineTo(R,k),e.closePath(),e.fill(),e.restore()}if((w=h.markers)!=null&&w.br){e.save();const T=h.markers.br,R=S,k=F;e.fillStyle=T.color,e.moveTo(R,k),e.beginPath(),e.lineTo(R-T.size,k),e.lineTo(R,k-T.size),e.lineTo(R,k),e.closePath(),e.fill(),e.restore()}if((O=h.markers)!=null&&O.bl){e.save();const T=h.markers.bl,R=E,k=F;e.fillStyle=T.color,e.moveTo(R,k),e.beginPath(),e.lineTo(R+T.size,k),e.lineTo(R,k-T.size),e.lineTo(R,k),e.closePath(),e.fill(),e.restore()}}})}}Se.add(Bn);const ro="DefaultCustomExtension",so=55,io=r=>{const{startRow:t,endRow:e,startColumn:n,endColumn:s}=r;return`${t}-${e}-${n}-${s}`};class On extends de{constructor(){super(...arguments);d(this,"Z_INDEX",so);d(this,"uKey",ro)}draw(e,n,s,i){const{rowHeightAccumulation:a,columnWidthAccumulation:o,worksheet:u,dataMergeCache:l,rowColumnSegment:c}=s;if(!u)return;const h=new Set,f=u.getSheetId();g.Range.foreach(c,(_,p)=>{let m=u.getCell(_,p);if(!(m!=null&&m.customRender))return;let v=this.getCellIndex(_,p,a,o,l);const{mergeInfo:F}=v;if(!this.isRenderDiffRangesByRow(F.startRow,F.endRow,i))return!0;if(v.isMerged||v.isMergedMainCell){const B=io(F);if(h.has(B))return;h.add(B)}if(v.isMerged){const B={row:F.startRow,col:F.startColumn};if(m=u.getCell(B.row,B.col),!(m!=null&&m.customRender))return;v=this.getCellIndex(B.row,B.col,a,o,l)}const E={data:m,style:s.getsStyles().getStyleByCell(m),primaryWithCoord:v,subUnitId:f,row:_,col:p};if(!u.getColVisible(p)||!u.getRowRawVisible(_))return;const S=m.customRender.sort(g.sortRules);e.save(),S.forEach(B=>{B.drawWith(e,E,s,this.parent)}),e.restore()})}}Se.add(On);var wn=(r=>(r[r.OFF=0]="OFF",r[r.ON=1]="ON",r))(wn||{});class ao extends Qt{constructor(e,n){super(e,n);d(this,"_rowHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale();s.calculateSegment(n);const a=s.rowColumnSegment;if(a.startRow===-1&&a.endRow===-1)return;const{columnHeaderHeight:o}=s;e.translateWithPrecision(0,o);const u=this.getExtensionsByOrder();for(const l of u)l.draw(e,i,s)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:a}=s;return n.x>=0&&n.x<=i&&n.y>a}_initialDefaultExtension(){qt.getData().forEach(e=>{this.register(e)}),this._rowHeaderLayoutExtension=this.getExtensionByKey("DefaultRowHeaderLayoutExtension")}}var J6=(r=>(r[r.SPAN=0]="SPAN",r[r.LINE=1]="LINE",r))(J6||{});class vt extends Kt{constructor(){super(...arguments);d(this,"type",0);d(this,"translateX",0);d(this,"translateY",0)}}const oo="DefaultDocsBackgroundExtension",uo=10;class lo extends vt{constructor(){super(...arguments);d(this,"uKey",oo);d(this,"Z_INDEX",uo);d(this,"_preBackgroundColor","")}draw(e,n,s){var _;const i=(_=s.parent)==null?void 0:_.parent;if(!i)return;const{contentHeight:a=0}=i,{ts:o,width:u}=s;if(!o)return;const{bg:l}=o;if(!l)return;const c=g.getColorStyle(l),{spanStartPoint:h=P.create(0,0)}=this.extensionOffset,f=1.5;c&&(e.fillStyle=c,e.fillRectByPrecision(h.x-.5,h.y-1,u+1,a+2*f))}clearCache(){this._preBackgroundColor=""}}ze.add(new lo);const co="DefaultDocsBorderExtension";class ho extends vt{constructor(){super(...arguments);d(this,"uKey",co);d(this,"Z_INDEX",50);d(this,"_preBorderStyle");d(this,"_preBorderColor","")}draw(e,n,s){var m;const i=(m=s.parent)==null?void 0:m.parent;if(!i)return;const{asc:a=0,lineHeight:o=0}=i,{ts:u,left:l,width:c}=s;if(!u)return;const{bd:h}=u;if(!h)return;const f=this._getScale(e.getScale()),_=this._createBorderCache(h);e.save(),e.translateWithPrecisionRatio(g1,g1);const{spanStartPoint:p=P.create(0,0)}=this.extensionOffset;for(const v of _.keys()){const F=_.get(v);if(!F)continue;const{s:E,cl:S}=F,B=g.getColorStyle(S)||he,x=Xt(E);E!==this._preBorderStyle&&(zt(e,E),e.setLineWidthByPrecision(x),this._preBorderStyle=E),B!==this._preBorderColor&&(e.strokeStyle=B||he,this._preBorderColor=B),Gt(e,v,(x-1)/2/f,{startX:p.x,startY:p.y,endX:p.x+c,endY:p.y+o})}e.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=""}_createBorderCache(e){const{t:n,b:s,l:i,r:a}=e,o=new Map;return n&&o.set(q.TOP,n),s&&o.set(q.BOTTOM,s),i&&o.set(q.LEFT,i),a&&o.set(q.RIGHT,a),o}}ze.add(new ho);const fo="DefaultDocsFontAndBaseLineExtension",_o=20;class go extends vt{constructor(){super(...arguments);d(this,"uKey",fo);d(this,"Z_INDEX",_o);d(this,"_preFontString","");d(this,"_preFontColor","")}draw(e,n,s){var p;if(!((p=s.parent)==null?void 0:p.parent))return;const{ts:a,content:o,fontStyle:u,bBox:l}=s,{spanPointWithFont:c=P.create(0,0)}=this.extensionOffset;if(o==null)return;if(!a){this._fillText(e,s,c);return}this._preFontString!==(u==null?void 0:u.fontString)&&(e.font=this._preFontString=(u==null?void 0:u.fontString)||"");const{cl:h,va:f}=a,_=g.getColorStyle(h)||he;_&&this._preFontColor!==_&&(e.fillStyle=_),f===g.BaselineOffset.SUPERSCRIPT?c.y+=-l.spo:f===g.BaselineOffset.SUBSCRIPT&&(c.y+=l.sbo),this._fillText(e,s,c)}_fillText(e,n,s){const{renderConfig:i,spanStartPoint:a,centerPoint:o}=this.extensionOffset,{content:u,width:l,bBox:c}=n,{aba:h,abd:f}=c;if(u==null||a==null||o==null)return;const{vertexAngle:_,centerAngle:p}=i!=null?i:{},m=90;_===m&&p===m&&!h2(u)?(e.save(),e.translate(a.x+o.x,a.y+o.y),e.rotate(Math.PI/2),e.translate(-l/2,(h+f)/2-f),e.fillText(u,0,0),e.restore()):e.fillText(u,s.x,s.y)}clearCache(){this._preFontString="",this._preFontColor=""}}ze.add(new go);const Do="DefaultDocsLineExtension",po=40;class vo extends vt{constructor(){super(...arguments);d(this,"uKey",Do);d(this,"Z_INDEX",po);d(this,"_preBackgroundColor","")}draw(e,n,s){var B;const i=(B=s.parent)==null?void 0:B.parent;if(!i)return;const{contentHeight:a=0,asc:o}=i,{ts:u,bBox:l}=s;if(!u)return;const{sp:c,spo:h,sbo:f,bd:_}=l,p=Pt(n),m=.5,{ul:v,st:F,ol:E,va:S}=u;if(v){const x=a+Bt-3;this._drawLine(e,s,v,x,p)}if(F){let x=o+_-c-m;S===g.BaselineOffset.SUPERSCRIPT?x-=h:S===g.BaselineOffset.SUBSCRIPT&&(x+=f),this._drawLine(e,s,F,x,p)}if(E){const x=-Bt-m;this._drawLine(e,s,E,x,p)}}clearCache(){this._preBackgroundColor=""}_drawLine(e,n,s,i,a){var h;const{s:o,cl:u,t:l,c=g.BooleanNumber.TRUE}=s;if(o===g.BooleanNumber.TRUE){const{originTranslate:f=P.create(0,0),alignOffset:_=P.create(0,0),renderConfig:p={}}=this.extensionOffset,{left:m,width:v}=n,{centerAngle:F=0,vertexAngle:E=0}=p,S=Y1(F),B=Y1(E);e.save(),e.translateWithPrecisionRatio(g1,g1),e.beginPath();const x=(c===g.BooleanNumber.TRUE?g.getColorStyle((h=n.ts)==null?void 0:h.cl):g.getColorStyle(u))||he;e.strokeStyle=x,this._setLineType(e,l||g.TextDecoration.SINGLE);const w=Ue(f.addByPoint(m,i),P.create(0,0),S,B,_),O=Ue(f.addByPoint(m+v,i),P.create(0,0),S,B,_);e.moveToByPrecision(w.x,w.y),e.lineToByPrecision(O.x,O.y),e.stroke(),e.restore()}}_setLineType(e,n){n===g.TextDecoration.DASH_DOT_DOT_HEAVY||n===g.TextDecoration.DOT_DOT_DASH?e.setLineDash([2,2,5,2,2]):n===g.TextDecoration.DASH_DOT_HEAVY||n===g.TextDecoration.DOT_DASH?e.setLineDash([2,5,2]):n===g.TextDecoration.DOTTED||n===g.TextDecoration.DOTTED_HEAVY?e.setLineDash([2]):n===g.TextDecoration.DASH||n===g.TextDecoration.DASHED_HEAVY?e.setLineDash([3]):n===g.TextDecoration.DASH_LONG||n===g.TextDecoration.DASH_LONG_HEAVY?e.setLineDash([6]):e.setLineDash([0])}}ze.add(new vo);class mo extends jt{constructor(e,n){super(e);d(this,"pageMarginLeft",0);d(this,"pageMarginTop",0);d(this,"pageLayoutType",V1.VERTICAL);this._skeleton=n}getSkeleton(){return this._skeleton}setSkeleton(e){this._skeleton=e}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;const s=this.transform.getMatrix();e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e,n),e.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX:e=1,scaleY:n=1}=this.parent;return this.parent.classType===K.SCENE&&(e=this.parent.ancestorScaleX||1,n=this.parent.ancestorScaleY||1),{scaleX:e,scaleY:n}}scrollBySelection(){}syncSelection(){}remainActiveSelection(){}findNodeByCoord(e,n){}findCoordByNode(e){}_getBounding(e){}_draw(e,n){}}class I2 extends mo{constructor(e,n,s){super(e,n);d(this,"onPageRenderObservable",new g.Observable);d(this,"docsLeft",0);d(this,"docsTop",0);d(this,"_drawLiquid");d(this,"_findLiquid");d(this,"_skeletonObserver");this.setConfig(s),this._drawLiquid=new m2,this._findLiquid=new m2,this._initialDefaultExtension(),this.makeDirty(!0)}static create(e,n,s){return new I2(e,n,s)}setConfig(e){(e==null?void 0:e.pageMarginLeft)!=null?this.pageMarginLeft=e==null?void 0:e.pageMarginLeft:this.pageMarginLeft=17,(e==null?void 0:e.pageMarginTop)!=null?this.pageMarginTop=e==null?void 0:e.pageMarginTop:this.pageMarginTop=14,(e==null?void 0:e.pageLayoutType)!=null?this.pageLayoutType=e==null?void 0:e.pageLayoutType:this.pageLayoutType=V1.VERTICAL}getOffsetConfig(){const{transform:e,pageLayoutType:n,pageMarginLeft:s,pageMarginTop:i,left:a,top:o}=this;return{documentTransform:e,pageLayoutType:n,pageMarginLeft:s,pageMarginTop:i,docsLeft:a,docsTop:o}}getEngine(){return this.getScene().getEngine()}draw(e,n){var _;if(!this.getSkeleton())return;this._drawLiquid.reset();const i=(_=this.getSkeleton())==null?void 0:_.getSkeletonData();if(i==null)return;this._drawLiquid.reset();const{pages:a}=i,o=this.getParentScale(),u=this.getExtensionsByOrder();for(const p of u)p.clearCache();const l=u.find(p=>p.uKey==="DefaultDocsBackgroundExtension"),c=u.filter(p=>p.type===J6.SPAN&&p.uKey!=="DefaultDocsBackgroundExtension");let h=0,f=0;for(let p=0,m=a.length;p<m;p++){const v=a[p],{sections:F,marginTop:E=0,marginBottom:S=0,marginLeft:B=0,marginRight:x=0,width:w,height:O,renderConfig:T={}}=v,{verticalAlign:R=g.VerticalAlign.TOP,horizontalAlign:k=g.HorizontalAlign.LEFT,centerAngle:$=0,vertexAngle:M=0,wrapStrategy:U=g.WrapStrategy.UNSPECIFIED,cellValueType:I}=T,L=this._horizontalHandler(w,B,x,k,M,$,I),H=this._verticalHandler(O,E,S,R),X=P.create(L,H),j=Y1($),G=Y1(M),Q=G-j;if(this._isSkipByDiffBounds(v,h,f,n)){const{x:a1,y:C1}=this._drawLiquid.translatePage(v,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);f+=a1,h+=C1;continue}this.onPageRenderObservable.notifyObservers({page:v,pageLeft:f,pageTop:h,ctx:e}),this._startRotation(e,Q);for(const a1 of F){const{columns:C1}=a1;this._drawLiquid.translateSection(a1);for(const D1 of C1){const{lines:i1,width:o1}=D1;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(D1);const p1=i1.length;let l1=X,B1=null;if(G!==0){const{rotateTranslateXList:v1,rotatedHeight:y1,rotatedWidth:z1,fixOffsetX:O1,fixOffsetY:oe,rotateTranslateY:ye}=Wt(i1,o1,G);let ue=z1;y1>this.height&&U!==g.WrapStrategy.WRAP&&(U===g.WrapStrategy.OVERFLOW||G>0)&&(ue=this.height/Math.tan(Math.abs(G)));const le=this._horizontalHandler(ue,B,x,k,M,$);let w1=this._verticalHandler(y1,E,S,R)-oe;y1>this.height&&(G<0?w1=this.height-(y1+oe):w1=-oe),l1=P.create(le+O1,w1),this._drawLiquid.translate(0,-ye),B1=v1}else U===g.WrapStrategy.WRAP&&(l1.x=B);for(let v1=0;v1<p1;v1++){const y1=i1[v1],{divides:z1,asc:O1=0,type:oe,lineHeight:ye=0}=y1,ue=O1,le=ue*Math.sin(j),ke=ue*Math.cos(j);if(oe===_2.BLOCK)for(const w1 of u)w1.type===J6.LINE&&(w1.extensionOffset={alignOffset:l1,renderConfig:T},w1.draw(e,o,y1));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(y1,!0),B1&&this._drawLiquid.translate(B1[v1]);const w1=z1.length;for(let Fe=0;Fe<w1;Fe++){const Ie=z1[Fe],{glyphGroup:Le}=Ie;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(Ie);for(const T1 of Le){if(!T1.content||T1.content.length===0)continue;const{width:L2,left:n2}=T1,{x:r2,y:M2}=this._drawLiquid,P2=P.create(r2,M2),ce=P.create(L2/2,ye/2),N2={spanStartPoint:Ue(P2.addByPoint(n2,0),ce,j,G,l1)};l&&(l.extensionOffset=N2,l.draw(e,o,T1))}for(const T1 of Le){if(!T1.content||T1.content.length===0)continue;const{width:L2,left:n2,xOffset:r2}=T1,{x:M2,y:P2}=this._drawLiquid,ce=P.create(M2,P2),Me=P.create(L2/2,ye/2),N2=Ue(ce.addByPoint(n2+r2,0),Me,j,G,l1),Et=Ue(ce.addByPoint(n2+le+r2,ke),Me,j,G,l1),l0={originTranslate:ce,spanStartPoint:N2,spanPointWithFont:Et,centerPoint:Me,alignOffset:l1,renderConfig:T};for(const St of c)St.extensionOffset=l0,St.draw(e,o,T1)}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}}this._resetRotation(e,Q);const{x:t1,y:n1}=this._drawLiquid.translatePage(v,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);f+=t1,h+=n1}}changeSkeleton(e){return this.setSkeleton(e),this}_draw(e,n){this.draw(e,n)}_horizontalHandler(e,n,s,i,a=0,o=0,u){i===g.HorizontalAlign.UNSPECIFIED&&(o===S1&&a===S1?i=g.HorizontalAlign.CENTER:a>0&&a!==S1||a===-S1||u===g.CellValueType.NUMBER?i=g.HorizontalAlign.RIGHT:u===g.CellValueType.BOOLEAN?i=g.HorizontalAlign.CENTER:i=g.HorizontalAlign.LEFT);let l=0;return i===g.HorizontalAlign.CENTER?l=(this.width-e)/2:i===g.HorizontalAlign.RIGHT?l=this.width-e-s:l=n,l}_verticalHandler(e,n,s,i){let a=0;return i===g.VerticalAlign.MIDDLE?a=(this.height-e)/2:i===g.VerticalAlign.TOP?a=n:a=this.height-e-s,a}_startRotation(e,n){e.rotate(n||0)}_resetRotation(e,n){e.rotate(-n||0)}_initialDefaultExtension(){ze.getData().forEach(e=>{this.register(e)})}_isSkipByDiffBounds(e,n,s,i){if(i==null)return!1;const{pageWidth:a,pageHeight:o,marginBottom:u,marginTop:l,marginLeft:c,marginRight:h}=e,f=s+a+c+h,_=n+o+u+l,{left:p,top:m,right:v,bottom:F}=i.viewBound;return f<p||_<m||s>v&&a!==Number.POSITIVE_INFINITY||n>F&&o!==Number.POSITIVE_INFINITY}}const bo="__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__";class yo extends Jt{constructor(e,n,s=!0){super(e,n);d(this,"_backgroundExtension");d(this,"_borderExtension");d(this,"_fontExtension");d(this,"_cacheCanvas");d(this,"_refreshIncrementalState",!1);d(this,"_forceDirty",!1);d(this,"_overflowCacheRuntime",{});d(this,"_overflowCacheRuntimeRange",new g.ObjectMatrix);d(this,"_overflowCacheRuntimeTimeout",-1);d(this,"_forceDisableGridlines",!1);d(this,"_documents",new I2(bo,void 0,{pageMarginLeft:0,pageMarginTop:0}));d(this,"isPrinting",!1);this._allowCache=s,this._allowCache&&(this._cacheCanvas=new Ge,this.onIsAddedToParentObserver.add(i=>{var a;(a=i==null?void 0:i.getEngine())==null||a.onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()}),this._resizeCacheCanvas(),this._addMakeDirtyToScroll()})),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}draw(e,n){const s=this.getSkeleton();if(!s)return;const i=this.getParentScale(),a=this._refreshIncrementalState?n==null?void 0:n.diffBounds.map(u=>s.getRowColumnSegmentByViewBound(u)):void 0,o=this.getExtensionsByOrder();for(const u of o)u.draw(e,i,s,a)}isHit(e){const n=this._getInverseCoord(e),s=this.getSkeleton();if(!s)return!1;const{rowHeaderWidth:i,columnHeaderHeight:a}=s;return n.x>i&&n.y>a}getNoMergeCellPositionByIndex(e,n){const s=this.getSkeleton();if(!s)return;const{rowHeightAccumulation:i,columnWidthAccumulation:a,rowHeaderWidth:o,columnHeaderHeight:u}=s;let{startY:l,endY:c,startX:h,endX:f}=Ce(e,n,i,a);return l+=u,c+=u,h+=o,f+=o,{startY:l,endY:c,startX:h,endX:f}}getScrollXYByRelativeCoords(e){const n=this.getParent();let s=0,i=0;const a=n.getActiveViewportByRelativeCoord(e);if(a){const o=a.actualScrollX||0,u=a.actualScrollY||0;s+=o,i+=u}return{x:s,y:i}}makeForceDirty(e=!0){this.makeDirty(e),this._forceDirty=e}setForceDisableGridlines(e){this._forceDisableGridlines=e}getSelectionBounding(e,n,s,i){var a;return(a=this.getSkeleton())==null?void 0:a.getMergeBounding(e,n,s,i)}render(e,n){if(!this.visible)return this.makeDirty(!1),this;const s=this.getSkeleton();if(!s)return;s.calculateWithoutClearingCache(n);const i=s.rowColumnSegment;if(i.startRow===-1&&i.endRow===-1||i.startColumn===-1&&i.endColumn===-1)return;e.save();const{a=1,d:o=1}=e.getTransform(),{rowHeaderWidth:u,columnHeaderHeight:l}=s;if(e.translateWithPrecision(u,l),this._drawAuxiliary(e,n),n&&this._allowCache===!0){const{viewBound:c,diffBounds:h,diffX:f,diffY:_,viewPortPosition:p,viewPortKey:m}=n;if(m==="viewMain"){const v=this._cacheCanvas.getContext();v.save();const{left:F,top:E,right:S,bottom:B}=p,x=S-F+u,w=B-E+l;if(h.length===0||f===0&&_===0||this._forceDirty)(this.isDirty()||this._forceDirty)&&(this._cacheCanvas.clear(),v.setTransform(e.getTransform()),this._draw(v,n),this._forceDirty=!1),this._applyCache(e,F,E,x,w,F,E,x,w);else{if(this.isDirty()){v.save(),v.globalCompositeOperation="copy",v.setTransform(1,0,0,1,0,0),v.drawImage(this._cacheCanvas.getCanvasEle(),f*a,_*o),v.restore(),this._refreshIncrementalState=!0,v.setTransform(e.getTransform());for(const O of h){const{left:T,right:R,bottom:k,top:$}=O;v.save(),v.beginPath(),v.rectByPrecision(T-u-g1,$-l-g1,R-T+u+g1*2,k-$+l+g1*2),v.clip(),this._draw(v,{viewBound:n.viewBound,diffBounds:[O],diffX:n.diffX,diffY:n.diffY,viewPortPosition:n.viewPortPosition,viewPortKey:n.viewPortKey}),v.restore()}this._refreshIncrementalState=!1}this._applyCache(e,F,E,x,w,F,E,x,w)}v.restore()}else this._draw(e,n)}else this._draw(e,n);return e.restore(),this.makeDirty(!1),this}_resizeCacheCanvas(){const e=this._getAncestorSize();if(!e||this._cacheCanvas==null)return;const{width:n,height:s}=e;this._cacheCanvas.setSize(n,s),this.makeForceDirty(!0)}_applyCache(e,n=0,s=0,i=0,a=0,o=0,u=0,l=0,c=0){if(!e)return;const h=this._cacheCanvas.getPixelRatio(),f=this._cacheCanvas.getContext();f.save(),e.save(),e.setTransform(1,0,0,1,0,0),f.setTransform(1,0,0,1,0,0),e.drawImage(this._cacheCanvas.getCanvasEle(),n*h,s*h,i*h,a*h,o*h,u*h,l*h,c*h),e.restore(),f.restore()}_draw(e,n){this.draw(e,n)}_getAncestorSize(){const e=this._getAncestorParent();if(e){if(e.classType===K.ENGINE){const n=e.getCanvas();return{width:n.getWidth(),height:n.getHeight()}}if(e.classType===K.SCENE_VIEWER)return{width:e.width,height:e.height}}}_getAncestorParent(){let e=this.parent;for(;e;){if(e.classType===K.ENGINE||e.classType===K.SCENE_VIEWER)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}_initialDefaultExtension(){Se.getData().sort(g.sortRules).forEach(e=>{this.register(new e)}),this._backgroundExtension=this.getExtensionByKey("DefaultBackgroundExtension"),this._borderExtension=this.getExtensionByKey("DefaultBorderExtension"),this._fontExtension=this.getExtensionByKey("DefaultFontExtension")}_addMakeDirtyToScroll(){this._hasScrollViewportOperator(this,e=>{e.onScrollBeforeObserver.add(()=>{this.makeDirty(!0)})})}_hasScrollViewportOperator(e,n){let s=e.getParent();for(;s;){if(s.classType===K.SCENE){const i=s.getViewports(),a=this._getHasScrollViewports(i);for(const o of a)o&&n(o)}s=(s==null?void 0:s.getParent)&&(s==null?void 0:s.getParent())}}_getHasScrollViewports(e){const n=[];for(const s of e)s.getScrollBar()&&n.push(s);return n}_drawAuxiliary(e,n){const s=this.getSkeleton();if(s==null)return;const{rowColumnSegment:i,dataMergeCache:a,overflowCache:o,stylesCache:u,showGridlines:l}=s,{border:c,backgroundPositions:h}=u,{startRow:f,endRow:_,startColumn:p,endColumn:m}=i;if(!s||l===g.BooleanNumber.FALSE||this._forceDisableGridlines)return;const{rowHeightAccumulation:v,columnTotalWidth:F,columnWidthAccumulation:E,rowTotalHeight:S}=s;if(!v||!E||F===void 0||S===void 0)return;e.save(),e.setLineWidthByPrecision(1),e.strokeStyle=F1([212,212,212]);const B=E.length,x=v.length,w=.4,O=_-f+1,T=m-p+1,R=Math.ceil(O*w),k=Math.ceil(T*w),$=Math.max(Math.floor(f-R),0),M=Math.min(Math.ceil(_+R),x-1),U=Math.min(Math.ceil(m+k),B-1),I=Math.max(Math.floor(p-k),0),L=E[I-1]||0,H=v[$-1]||0,X=E[U],j=v[M];e.translateWithPrecisionRatio(g1,g1),e.beginPath(),e.moveToByPrecision(L,H),e.lineToByPrecision(X,H),e.moveToByPrecision(L,H),e.lineToByPrecision(L,j),e.closePathByEnv(),e.stroke();for(let G=$;G<=M;G++){if(G<0||G>x-1)continue;const Q=v[G];e.beginPath(),e.moveToByPrecision(L,Q),e.lineToByPrecision(X,Q),e.closePathByEnv(),e.stroke()}for(let G=I;G<=U;G++){if(G<0||G>B-1)continue;const Q=E[G];e.beginPath(),e.moveToByPrecision(Q,H),e.lineToByPrecision(Q,j),e.closePathByEnv(),e.stroke()}this._clearRectangle(e,v,E,a),this._clearRectangle(e,v,E,o.toNativeArray()),this._clearBackground(e,h),e.restore()}_clearRectangle(e,n,s,i){if(i!=null)for(const a of i){const{startRow:o,endRow:u,startColumn:l,endColumn:c}=a,h=n[o-1]||0,f=n[u]||n[n.length-1],_=s[l-1]||0,p=s[c]||s[s.length-1];e.clearRectByPrecision(_,h,p-_,f-h),e.beginPath(),e.moveToByPrecision(_,h),e.lineToByPrecision(p,h),e.lineToByPrecision(p,f),e.lineToByPrecision(_,f),e.lineToByPrecision(_,h),e.stroke(),e.closePath()}}_clearBackground(e,n){n==null||n.forValue((s,i,a)=>{let{startY:o,endY:u,startX:l,endX:c}=a;const{isMerged:h,isMergedMainCell:f,mergeInfo:_}=a;if(h)return!0;f&&(o=_.startY,u=_.endY,l=_.startX,c=_.endX),e.clearRectForTexture(l,o,c-l+.5,u-o+.5)})}}function An(r,t,e){r.onPointerEnterObserver.add(n=>{t(r,n)}),r.onPointerLeaveObserver.add(n=>{e(r,n)})}class Q6 extends ne{constructor(e,n){super(e);d(this,"_subScenes",new Map);d(this,"_activeSubScene");d(this,"_allowSelectedClipElement",!1);this._initialProps(n)}get classType(){return K.SCENE_VIEWER}render(e,n){var i;if(!this.visible)return this.makeDirty(!1),this;if(n){const{left:a,top:o,right:u,bottom:l}=n.viewBound;if(this.width+this.strokeWidth+this.left<a||u<this.left||this.height+this.strokeWidth+this.top<o||l<this.top)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),(i=this._activeSubScene)==null||i.makeDirtyNoParent(!0).render(e),e.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(e){for(const[n,s]of this._subScenes)if(n===e)return s}addSubScene(e){this._activeSubScene=e,this._subScenes.set(e.sceneKey,e),this.makeDirty()}removeSubScene(e){const n=this._subScenes.get(e);this._subScenes.delete(e),this._activeSubScene===n&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(e){if(e==null)return;const n=this._subScenes.get(e);this._activeSubScene!==n&&(this._activeSubScene=n,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(e){var i;if(this._activeSubScene===void 0)return;const s=this.transform.clone().invert().applyPoint(e);return(i=this._activeSubScene)==null?void 0:i.pick(s)}dispose(){super.dispose(),this._subScenes.forEach(e=>{e.dispose()})}_initialProps(e){if(!e)return;const n=Object.keys(e);if(n.length===0)return;const s={};let i=!1;n.forEach(a=>{if(e[a]===void 0)return!0;s[a]=e[a],i=!0}),i&&this.transformByState(s),this.makeDirty(!0)}}const Rn=["hoverCursor","moveCursor","fillRule","globalCompositeOperation","paintFirst","stroke","strokeScaleEnabled","fill","fillAfterStrokeEnabled","hitStrokeWidth","strokeLineJoin","strokeLineCap","shadowColor","shadowBlur","shadowOffset","shadowOffsetX","shadowOffsetY","shadowOpacity","shadowEnabled","shadowForStrokeEnabled","strokeDashArray","strokeDashOffset","strokeMiterLimit"];class $e extends ne{constructor(e,n){super(e);d(this,"_hoverCursor");d(this,"_moveCursor",null);d(this,"_fillRule","nonzero");d(this,"_globalCompositeOperation","source-over");d(this,"_paintFirst","fill");d(this,"_stroke");d(this,"_strokeScaleEnabled",!1);d(this,"_fill");d(this,"_fillAfterStrokeEnabled",!1);d(this,"_hitStrokeWidth",0);d(this,"_strokeLineJoin","round");d(this,"_strokeLineCap","round");d(this,"_shadowColor");d(this,"_shadowBlur",0);d(this,"_shadowOffset");d(this,"_shadowOffsetX",0);d(this,"_shadowOffsetY",0);d(this,"_shadowOpacity",0);d(this,"_shadowEnabled",!1);d(this,"_shadowForStrokeEnabled",!1);d(this,"_strokeDashArray");d(this,"_strokeDashOffset",0);d(this,"_strokeMiterLimit",0);d(this,"_type",Tt.RECT);this._initialProps(n)}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(e,n){}static _renderPaintInOrder(e,n){n.paintFirst==="stroke"?(this._renderStroke(e,n),this._renderFill(e,n)):(this._renderFill(e,n),this._renderStroke(e,n))}static _renderFill(e,n){n.fill&&(e.save(),this._setFillStyles(e,n),n.fillRule==="evenodd"?e.fill("evenodd"):e.fill(),e.restore())}static _renderStroke(e,n){const{stroke:s,strokeWidth:i,shadowEnabled:a,shadowForStrokeEnabled:o,strokeScaleEnabled:u,parent:l}=n;let{scaleX:c,scaleY:h}=e.getScale();!s||i===0||(a&&!o&&this._removeShadow(e),e.save(),u===!1&&(c=c!=null?c:1,h=h!=null?h:1,e.scale(1/c,1/h)),this._setLineDash(e),this._setStrokeStyles(e,n),e.stroke(),e.restore())}static _getObjectScaling(){return{scaleX:1,scaleY:1}}static _removeShadow(e){}static _setFillStyles(e,n){e.fillStyle=n.fill}static _setStrokeStyles(e,n){const{strokeWidth:s,strokeLineCap:i,strokeDashOffset:a,strokeLineJoin:o,strokeMiterLimit:u,stroke:l}=n;e.lineWidth=s,e.lineCap=i,e.lineDashOffset=a,e.lineJoin=o,e.miterLimit=u,e.strokeStyle=l}static _setLineDash(e){}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(n)){const{top:i,left:a,bottom:o,right:u}=n.viewBound;if(this.width+this.strokeWidth+this.left<a||u<this.left||this.height+this.strokeWidth+this.top<i||o<this.top)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}setProps(e){if(!e)return;const n=Object.keys(e);if(n.length!==0)return n.forEach(s=>{if(e[s]===void 0)return!0;j2.indexOf(s)===-1&&(this[`_${s}`]=e[s])}),this.makeDirty(!0),this}toJson(){const e={};return Rn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){}_initialProps(e){if(!e)return;const n=Object.keys(e);if(n.length===0)return;const s={};let i=!1;n.forEach(a=>{if(e[a]===void 0)return!0;j2.indexOf(a)>-1?(s[a]=e[a],i=!0):this[`_${a}`]=e[a]}),i&&this.transformByState(s),this.makeDirty(!0)}}const $n=["dataArray"];class x1 extends $e{constructor(e,n){super(e,n);d(this,"_dataArray",[]);d(this,"_pathLength",0);d(this,"_selfRectCache",{left:0,top:0,width:0,height:0});d(this,"_reCalculateCache",!0);n!=null&&n.data?this._dataArray=x1.parsePathData(n.data):n!=null&&n.dataArray&&(this._dataArray=n.dataArray);for(let s=0;s<this.dataArray.length;++s)this._pathLength+=this.dataArray[s].pathLength;this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,preValue:a}=s;if(i===h1.resize||i===h1.all){this._reCalculateCache=!0;const{left:o,top:u,width:l,height:c}=this._getSelfRect(),{width:h,height:f}=a;let _,p;h?_=this.width-h:_=0,f?p=this.height-f:p=0;const m=_/l,v=p/c;this.scaleX+=m,this.scaleY+=v,this.left=this.left-o*m,this.top=this.top-u*v,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(e,n){const s=n.dataArray;if(s){e.beginPath();for(let i=0;i<s.length;i++){const a=s[i].command,o=s[i].points;switch(a){case"L":e.lineTo(o[0],o[1]);break;case"M":e.moveTo(o[0],o[1]);break;case"C":e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5]);break;case"Q":e.quadraticCurveTo(o[0],o[1],o[2],o[3]);break;case"A":{const u=o[0],l=o[1],c=o[2],h=o[3],f=o[4],_=o[5],p=o[6],m=o[7],v=c>h?c:h,F=c>h?1:c/h,E=c>h?h/c:1;e.translate(u,l),e.rotate(p),e.scale(F,E),e.arc(0,0,v,f,f+_,!!(1-m)),e.scale(1/F,1/E),e.rotate(-p),e.translate(-u,-l);break}case"z":e.closePath();break}}this._renderPaintInOrder(e,n)}}static getLineLength(e,n,s,i){return Math.sqrt((s-e)*(s-e)+(i-n)*(i-n))}static getPointOnLine(e,n,s,i,a,o,u){o===void 0&&(o=n),u===void 0&&(u=s);const l=(a-s)/(i-n+1e-8);let c=Math.sqrt(e*e/(1+l*l));i<n&&(c*=-1);let h=l*c,f;if(i===n)f={x:o,y:u+h};else if((u-s)/(o-n+1e-8)===l)f={x:o+c,y:u+h};else{const _=this.getLineLength(n,s,i,a);let p=(o-n)*(i-n)+(u-s)*(a-s);p/=_*_;const m=n+p*(i-n),v=s+p*(a-s),F=this.getLineLength(o,u,m,v),E=Math.sqrt(e*e-F*F);c=Math.sqrt(E*E/(1+l*l)),i<n&&(c*=-1),h=l*c,f={x:m+c,y:v+h}}return f}static getPointOnCubicBezier(e,n,s,i,a,o,u,l,c){function h(F){return F*F*F}function f(F){return 3*F*F*(1-F)}function _(F){return 3*F*(1-F)*(1-F)}function p(F){return(1-F)*(1-F)*(1-F)}const m=l*h(e)+o*f(e)+i*_(e)+n*p(e),v=c*h(e)+u*f(e)+a*_(e)+s*p(e);return{x:m,y:v}}static getPointOnQuadraticBezier(e,n,s,i,a,o,u){function l(p){return p*p}function c(p){return 2*p*(1-p)}function h(p){return(1-p)*(1-p)}const f=o*l(e)+i*c(e)+n*h(e),_=u*l(e)+a*c(e)+s*h(e);return{x:f,y:_}}static getPointOnEllipticalArc(e,n,s,i,a,o){const u=Math.cos(o),l=Math.sin(o),c={x:s*Math.cos(a),y:i*Math.sin(a)};return{x:e+(c.x*u-c.y*l),y:n+(c.x*l+c.y*u)}}static parsePathData(e){if(!e)return[];let n=e;const s=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];n=n.replace(new RegExp(" ","g"),",");for(let f=0,_=s.length;f<_;f++)n=n.replace(new RegExp(s[f],"g"),`|${s[f]}`);const i=n.split("|"),a=[],o=[];let u=0,l=0;const c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let h;for(let f=1,_=i.length;f<_;f++){let p=i[f],m=p.charAt(0);for(p=p.slice(1),o.length=0;h=c.exec(p);)o.push(h[0]);const v=[];for(let F=0,E=o.length;F<E;F++){if(o[F]==="00"){v.push(0,0);continue}const S=Number.parseFloat(o[F]);isNaN(S)?v.push(0):v.push(S)}for(;v.length>0&&!isNaN(v[0]);){let F,E=[];const S=u,B=l;let x,w,O,T,R,k,$,M,U,I;switch(m){case"l":u+=v.shift()||0,l+=v.shift()||0,F="L",E.push(u,l);break;case"L":u=v.shift()||0,l=v.shift()||0,E.push(u,l);break;case"m":{const L=v.shift()||0,H=v.shift()||0;if(u+=L,l+=H,F="M",a.length>2&&a[a.length-1].command==="z"){for(let X=a.length-2;X>=0;X--)if(a[X].command==="M"){u=a[X].points[0]+L,l=a[X].points[1]+H;break}}E.push(u,l),m="l";break}case"M":u=v.shift()||0,l=v.shift()||0,F="M",E.push(u,l),m="L";break;case"h":u+=v.shift()||0,F="L",E.push(u,l);break;case"H":u=v.shift()||0,F="L",E.push(u,l);break;case"v":l+=v.shift()||0,F="L",E.push(u,l);break;case"V":l=v.shift()||0,F="L",E.push(u,l);break;case"C":E.push(v.shift()||0,v.shift()||0,v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,E.push(u,l);break;case"c":E.push(u+(v.shift()||0),l+(v.shift()||0),u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,F="C",E.push(u,l);break;case"S":w=u,O=l,x=a[a.length-1],x.command==="C"&&(w=u+(u-x.points[2]),O=l+(l-x.points[3])),E.push(w,O,v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,F="C",E.push(u,l);break;case"s":w=u,O=l,x=a[a.length-1],x.command==="C"&&(w=u+(u-x.points[2]),O=l+(l-x.points[3])),E.push(w,O,u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,F="C",E.push(u,l);break;case"Q":E.push(v.shift()||0,v.shift()||0),u=v.shift()||0,l=v.shift()||0,E.push(u,l);break;case"q":E.push(u+(v.shift()||0),l+(v.shift()||0)),u+=v.shift()||0,l+=v.shift()||0,F="Q",E.push(u,l);break;case"T":w=u,O=l,x=a[a.length-1],x.command==="Q"&&(w=u+(u-x.points[0]),O=l+(l-x.points[1])),u=v.shift()||0,l=v.shift()||0,F="Q",E.push(w,O,u,l);break;case"t":w=u,O=l,x=a[a.length-1],x.command==="Q"&&(w=u+(u-x.points[0]),O=l+(l-x.points[1])),u+=v.shift()||0,l+=v.shift()||0,F="Q",E.push(w,O,u,l);break;case"A":T=v.shift()||0,R=v.shift()||0,k=v.shift()||0,$=v.shift()||0,M=v.shift()||0,U=u,I=l,u=v.shift()||0,l=v.shift()||0,F="A",E=this.convertEndpointToCenterParameterization(U,I,u,l,$,M,T,R,k);break;case"a":T=v.shift()||0,R=v.shift()||0,k=v.shift()||0,$=v.shift()||0,M=v.shift()||0,U=u,I=l,u+=v.shift()||0,l+=v.shift()||0,F="A",E=this.convertEndpointToCenterParameterization(U,I,u,l,$,M,T,R,k);break}a.push({command:F||m,points:E,start:{x:S,y:B},pathLength:this.calcLength(S,B,F||m,E)})}(m==="z"||m==="Z")&&a.push({command:"z",points:[],start:{x:0,y:0},pathLength:0})}return a}static calcLength(e,n,s,i){let a,o,u,l;const c=x1;switch(s){case"L":return c.getLineLength(e,n,i[0],i[1]);case"C":for(a=0,o=c.getPointOnCubicBezier(0,e,n,i[0],i[1],i[2],i[3],i[4],i[5]),l=.01;l<=1;l+=.01)u=c.getPointOnCubicBezier(l,e,n,i[0],i[1],i[2],i[3],i[4],i[5]),a+=c.getLineLength(o.x,o.y,u.x,u.y),o=u;return a;case"Q":for(a=0,o=c.getPointOnQuadraticBezier(0,e,n,i[0],i[1],i[2],i[3]),l=.01;l<=1;l+=.01)u=c.getPointOnQuadraticBezier(l,e,n,i[0],i[1],i[2],i[3]),a+=c.getLineLength(o.x,o.y,u.x,u.y),o=u;return a;case"A":{a=0;const h=i[4],f=i[5],_=i[4]+f;let p=Math.PI/180;if(Math.abs(h-_)<p&&(p=Math.abs(h-_)),o=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],h,0),f<0)for(l=h-p;l>_;l-=p)u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),a+=c.getLineLength(o.x,o.y,u.x,u.y),o=u;else for(l=h+p;l<_;l+=p)u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),a+=c.getLineLength(o.x,o.y,u.x,u.y),o=u;return u=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],_,0),a+=c.getLineLength(o.x,o.y,u.x,u.y),a}}return 0}static convertEndpointToCenterParameterization(e,n,s,i,a,o,u,l,c){const h=c*(Math.PI/180),f=Math.cos(h)*(e-s)/2+Math.sin(h)*(n-i)/2,_=-1*Math.sin(h)*(e-s)/2+Math.cos(h)*(n-i)/2,p=f*f/(u*u)+_*_/(l*l);p>1&&(u*=Math.sqrt(p),l*=Math.sqrt(p));let m=Math.sqrt((u*u*(l*l)-u*u*(_*_)-l*l*(f*f))/(u*u*(_*_)+l*l*(f*f)));a===o&&(m*=-1),isNaN(m)&&(m=0);const v=m*u*_/l,F=m*-l*f/u,E=(e+s)/2+Math.cos(h)*v-Math.sin(h)*F,S=(n+i)/2+Math.sin(h)*v+Math.cos(h)*F,B=$=>Math.sqrt($[0]*$[0]+$[1]*$[1]),x=($,M)=>($[0]*M[0]+$[1]*M[1])/(B($)*B(M)),w=($,M)=>($[0]*M[1]<$[1]*M[0]?-1:1)*Math.acos(x($,M)),O=w([1,0],[(f-v)/u,(_-F)/l]),T=[(f-v)/u,(_-F)/l],R=[(-1*f-v)/u,(-1*_-F)/l];let k=w(T,R);return x(T,R)<=-1&&(k=Math.PI),x(T,R)>=1&&(k=0),o===0&&k>0&&(k-=2*Math.PI),o===1&&k<0&&(k+=2*Math.PI),[E,S,u,l,O,k,h,o]}toJson(){const e={};return $n.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}getState(){const{left:e,top:n,width:s,height:i}=this.getRect();return{left:e,top:n,width:s,height:i,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left:e,top:n,width:s,height:i}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:n*this.scaleY+this.top,width:s*this.scaleX,height:i*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(e){let n,s=0;const i=this.dataArray.length;if(!i)return null;for(;s<i&&e>this.dataArray[s].pathLength;)e-=this.dataArray[s].pathLength,++s;if(s===i)return n=this.dataArray[s-1].points.slice(-2),{x:n[0],y:n[1]};if(e<.01)return n=this.dataArray[s].points.slice(0,2),{x:n[0],y:n[1]};const a=this.dataArray[s],o=a.points;switch(a.command){case"L":return x1.getPointOnLine(e,a.start.x,a.start.y,o[0],o[1]);case"C":return x1.getPointOnCubicBezier(e/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3],o[4],o[5]);case"Q":return x1.getPointOnQuadraticBezier(e/a.pathLength,a.start.x,a.start.y,o[0],o[1],o[2],o[3]);case"A":{const u=o[0],l=o[1],c=o[2],h=o[3];let f=o[4];const _=o[5],p=o[6];return f+=_*e/a.pathLength,x1.getPointOnEllipticalArc(u,l,c,h,f,p)}}return null}_draw(e){x1.drawWith(e,this)}_setFixBoundingBox(){const{left:e,top:n,width:s,height:i}=this._getSelfRect(),a=this.width/s,o=this.height/i;this.left=this.left-e*a,this.top=this.top-n*o,this.scaleX=a,this.scaleY=o,this.width=s,this.height=i,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let e=[];this.dataArray.forEach(c=>{if(c.command==="A"){const h=c.points[4],f=c.points[5],_=c.points[4]+f;let p=Math.PI/180;if(Math.abs(h-_)<p&&(p=Math.abs(h-_)),f<0)for(let m=h-p;m>_;m-=p){const v=x1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],m,0);e.push(v.x,v.y)}else for(let m=h+p;m<_;m+=p){const v=x1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],m,0);e.push(v.x,v.y)}}else if(c.command==="C")for(let h=0;h<=1;h+=.01){const f=x1.getPointOnCubicBezier(h,c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3],c.points[4],c.points[5]);e.push(f.x,f.y)}else e=e.concat(c.points)});let n=e[0],s=e[0],i=e[1],a=e[1],o,u;for(let c=0;c<e.length/2;c++)o=e[c*2],u=e[c*2+1],isNaN(o)||(n=Math.min(n,o),s=Math.max(s,o)),isNaN(u)||(i=Math.min(i,u),a=Math.max(a,u));const l={left:n,top:i,width:s-n,height:a-i};return this._selfRectCache=l,l}}var kn=(r=>(r.LEFT="__slideNavigationLeft__",r.RIGHT="__slideNavigationRight__",r))(kn||{});const In="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";class Fo extends Q6{constructor(){super(...arguments);d(this,"onSlideChangePageByNavigationObservable",new g.Observable);d(this,"_navigationEnabled",!1)}activeFirstPage(){const n=this.getSubScenes().keys().next().value;n!=null&&this.changePage(n)}addPage(e){const n=e.sceneKey;this.getSubScene(n)==null&&(this.addSubScene(e),this.addNavigation())}changePage(e){e!==null&&(this.removeNavigation(),this.activeSubScene(e),this.addNavigation())}hasPage(e){return this.getSubScene(e)}addNavigation(){const e=this.getActiveSubScene();if(e==null||this._navigationEnabled===!1)return;const n=new x1("__slideNavigationLeft__",{data:In,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),s=new x1("__slideNavigationRight__",{data:In,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),i=(o,u)=>{o.setCursor(d1.POINTER),o.setProps({fill:this._getArrowColor(!0)})},a=(o,u)=>{o.setCursor(d1.DEFAULT),o.setProps({fill:this._getArrowColor()})};An(n,i,a),An(s,i,a),this._addNavTrigger(n,s),e.addObjects([n,s],7)}removeNavigation(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.dispose(),(s=e.getObject("__slideNavigationRight__"))==null||s.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.hide(),(s=e.getObject("__slideNavigationRight__"))==null||s.hide())}showNav(){var n,s;const e=this.getActiveSubScene();e==null||this._navigationEnabled===!1||((n=e.getObject("__slideNavigationLeft__"))==null||n.show(),(s=e.getObject("__slideNavigationRight__"))==null||s.show())}renderToThumb(e,n,s=1,i=1){const a=this.getSubScene(n);a!=null&&(e.save(),e.scale(s,i),a.makeDirtyNoParent(!0).render(e),e.restore())}_getSubScenesIndex(e){if(e==null)return;const n=Array.from(this.getSubScenes()),s=n.length;let i=0;for(let u=0;u<s;u++){const[l]=n[u];if(e===l){i=u;break}}let a=i+1,o=i-1;return a=a>=s?0:a,o=o<0?s-1:o,{nextScene:n[a][1],previousScene:n[o][1]}}_addNavTrigger(e,n){e.onPointerDownObserver.add(()=>{var a;const s=this._getSubScenesIndex((a=this.getActiveSubScene())==null?void 0:a.sceneKey),i=s==null?void 0:s.previousScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)}),n.onPointerDownObserver.add(()=>{var a;const s=this._getSubScenesIndex((a=this.getActiveSubScene())==null?void 0:a.sceneKey),i=s==null?void 0:s.nextScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)})}_getArrowColor(e=!1){return e?F1(g.COLORS.white,.8):F1(g.COLORS.white,.5)}}class Co extends ne{constructor(t,e=s=>{},n){super(t),this._render=e,this._isHitCustom=n}toJson(){return{...super.toJson()}}render(t,e){if(!this.visible)return this.makeDirty(!1),this;if(e&&!this.isInGroup){const{top:s,left:i,bottom:a,right:o}=e.viewBound;if(this.width+this.strokeWidth<i||o<0||this.height+this.strokeWidth<s||a<0)return this}const n=this.transform.getMatrix();return t.save(),t.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._render(t),t.restore(),this.makeDirty(!1),this}isHit(t){return this._isHitCustom?this._isHitCustom(t):super.isHit(t)}}class Ln extends g.Disposable{constructor(){super(...arguments);d(this,"onInputChangedObservable",new g.Observable);d(this,"onTransformChangeObservable",new g.Observable);d(this,"_scenes",{});d(this,"_activeScene",null)}get classType(){return K.ENGINE}get activeScene(){return this._activeScene}get width(){return 0}get height(){return 0}getScenes(){return this._scenes}getScene(e){return this._scenes[e]}hasScene(e){return e in this._scenes}addScene(e){const n=e.sceneKey;return this.hasScene(n)&&console.warn("Scenes has similar key, it will be covered"),this._scenes[n]=e,e}setActiveScene(e){const n=this.getScene(e);return n&&(this._activeScene=n),n}setRemainCapture(){}hasActiveScene(){return this._activeScene!=null}dispose(){super.dispose();const e=this.getScenes();Object.keys(e).forEach(s=>{e[s].dispose()})}remainScene(e){const n=this.getScenes();if(n[e]){const s=n[e];return delete n[e],s}}}class mt extends Ln{constructor(e=1,n=1,s,i){super();d(this,"renderEvenInBackground",!0);d(this,"onBeginFrameObservable",new g.Observable);d(this,"onEndFrameObservable",new g.Observable);d(this,"_container");d(this,"_canvas");d(this,"_canvasEle");d(this,"_renderingQueueLaunched",!1);d(this,"_activeRenderLoops",new Array);d(this,"_renderFunction",()=>{});d(this,"_requestNewFrameHandler",-1);d(this,"_frameId",-1);d(this,"_usingSafari",T0());d(this,"_resizeObserver");d(this,"_fps",60);d(this,"_deltaTime",0);d(this,"_performanceMonitor",new Y0);d(this,"_pointerMoveEvent");d(this,"_pointerDownEvent");d(this,"_pointerUpEvent");d(this,"_pointerBlurEvent");d(this,"_pointerWheelEvent");d(this,"_pointerEnterEvent");d(this,"_pointerLeaveEvent");d(this,"_remainCapture",-1);d(this,"pointer",{});d(this,"_mouseId",-1);d(this,"_isUsingFirefox",navigator.userAgent.indexOf("Firefox")!==-1);d(this,"_previousWidth",-1e3);d(this,"_previousHeight",-1e3);this._canvas=new Ge({mode:i,width:e,height:n,pixelRatio:s}),this._canvasEle=this._canvas.getCanvasEle(),this._handleKeyboardAction(),this._handlePointerAction(),i!==Vt.Printing&&this._matchMediaHandler()}get width(){return this._canvas.getWidth()}get height(){return this._canvas.getHeight()}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(e){const n=this.getCanvas().getCanvasEle();n.style.cursor=e}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this._canvas.getCanvasEle()}setRemainCapture(){try{this._canvasEle.setPointerCapture(this._remainCapture)}catch{console.warn("no capture")}}getPixelRatio(){return this._canvas.getPixelRatio()}setContainer(e,n=!0){var s;if(this._container=e,this._container.appendChild(this._canvasEle),n){this.resize(),(s=this._resizeObserver)==null||s.unobserve(this._container);let i;this._resizeObserver=new ResizeObserver(()=>{i||(i=window.requestIdleCallback(()=>{this.resize(),i=void 0}))}),this._resizeObserver.observe(this._container),this.disposeWithMe(g.toDisposable(()=>{var a;(a=this._resizeObserver)==null||a.unobserve(this._container)}))}}resize(){if(!this._container)return;const{width:e,height:n}=I0(this._container);e===this._previousWidth&&n===this._previousHeight||(this._previousWidth=e,this._previousHeight=n,this.resizeBySize(e,n))}resizeBySize(e,n){const s=this.width,i=this.height;this._canvas.setSize(e,n),this.onTransformChangeObservable.notifyObservers({type:h1.resize,value:{width:e,height:n},preValue:{width:s,height:i}})}dispose(){super.dispose();const e=At();this._canvasEle.removeEventListener(`${e}leave`,this._pointerLeaveEvent),this._canvasEle.removeEventListener(`${e}enter`,this._pointerEnterEvent),this._canvasEle.removeEventListener(`${e}move`,this._pointerMoveEvent),this._canvasEle.removeEventListener(`${e}down`,this._pointerDownEvent),this._canvasEle.removeEventListener(`${e}up`,this._pointerUpEvent),this._canvasEle.removeEventListener("blur",this._pointerBlurEvent),this._canvasEle.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._activeRenderLoops=[],this._canvas.dispose(),this.onBeginFrameObservable.clear(),this.onEndFrameObservable.clear(),this.onTransformChangeObservable.clear()}runRenderLoop(e){this._activeRenderLoops.indexOf(e)===-1&&(this._activeRenderLoops.push(e),this._renderingQueueLaunched||(this._renderingQueueLaunched=!0,this._renderFunction=this._renderLoop.bind(this),this._requestNewFrameHandler=u2(this._renderFunction)))}stopRenderLoop(e){if(!e){this._activeRenderLoops.length=0,this._cancelFrame();return}const n=this._activeRenderLoops.indexOf(e);n>=0&&(this._activeRenderLoops.splice(n,1),this._activeRenderLoops.length===0&&this._cancelFrame())}beginFrame(){this._measureFps(),this.onBeginFrameObservable.notifyObservers(this)}endFrame(){this._frameId++,this.onEndFrameObservable.notifyObservers(this)}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(){for(let e=0;e<this._activeRenderLoops.length;e++){const n=this._activeRenderLoops[e];n()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>"u"){if(typeof cancelAnimationFrame=="function")return cancelAnimationFrame(this._requestNewFrameHandler)}else{const{cancelAnimationFrame:e}=this._getHostWindow()||window;if(typeof e=="function")return e(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var e,n;return typeof window>"u"?null:(n=(e=this._canvasEle)==null?void 0:e.ownerDocument)!=null&&n.defaultView?this._canvasEle.ownerDocument.defaultView:window}_renderLoop(){let e=!0;this.renderEvenInBackground||(e=!1),e&&(this.beginFrame(),this._renderFrame(),this.endFrame()),this._activeRenderLoops.length>0?this._requestNewFrameHandler=u2(this._renderFunction):this._renderingQueueLaunched=!1}_measureFps(){this._performanceMonitor.sampleFrame(),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0}_handleKeyboardAction(){const e=s=>{const i=s;i.deviceType=R1.Keyboard,i.inputIndex=s.keyCode,i.previousState=0,i.currentState=1,this.onInputChangedObservable.notifyObservers(i)},n=s=>{const i=s;i.deviceType=R1.Keyboard,i.inputIndex=s.keyCode,i.previousState=1,i.currentState=0,this.onInputChangedObservable.notifyObservers(i)};this._canvasEle.addEventListener("keydown",e),this._canvasEle.addEventListener("keyup",n)}_handlePointerAction(){const e=At();this._pointerMoveEvent=n=>{const s=this._getPointerType(n),i=this.pointer[W.Horizontal],a=this.pointer[W.Vertical],o=this.pointer[W.DeltaHorizontal],u=this.pointer[W.DeltaVertical];this.pointer[W.Horizontal]=n.clientX,this.pointer[W.Vertical]=n.clientY,this.pointer[W.DeltaHorizontal]=n.movementX,this.pointer[W.DeltaVertical]=n.movementY;const l=n;l.deviceType=s,i!==n.clientX&&(l.inputIndex=W.Horizontal,l.previousState=i,l.currentState=this.pointer[W.Horizontal],this.onInputChangedObservable.notifyObservers(l)),a!==n.clientY&&(l.inputIndex=W.Vertical,l.previousState=a,l.currentState=this.pointer[W.Vertical],this.onInputChangedObservable.notifyObservers(l)),this.pointer[W.DeltaHorizontal]!==0&&(l.inputIndex=W.DeltaHorizontal,l.previousState=o,l.currentState=this.pointer[W.DeltaHorizontal],this.onInputChangedObservable.notifyObservers(l)),this.pointer[W.DeltaVertical]!==0&&(l.inputIndex=W.DeltaVertical,l.previousState=u,l.currentState=this.pointer[W.DeltaVertical],this.onInputChangedObservable.notifyObservers(l)),!this._usingSafari&&n.button!==-1&&(l.inputIndex=n.button+2,l.previousState=this.pointer[n.button+2],this.pointer[n.button+2]=this.pointer[n.button+2]?0:1,l.currentState=this.pointer[n.button+2],this.onInputChangedObservable.notifyObservers(l))},this._pointerDownEvent=n=>{const s=n,i=this._getPointerType(s),a=this.pointer[W.Horizontal],o=this.pointer[W.Vertical],u=this.pointer[s.button+2];i===R1.Mouse?(this._mouseId===-1&&(s.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=s.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId,this._canvasEle.setPointerCapture(this._mouseId))):s.pointerId&&!document.pointerLockElement&&(this._remainCapture=s.pointerId,this._canvasEle.setPointerCapture(s.pointerId)),this.pointer[W.Horizontal]=s.clientX,this.pointer[W.Vertical]=s.clientY,this.pointer[s.button+2]=1;const l=s;l.deviceType=i,a!==s.clientX&&(l.inputIndex=W.Horizontal,l.previousState=a,l.currentState=this.pointer[W.Horizontal],this.onInputChangedObservable.notifyObservers(l)),o!==s.clientY&&(l.inputIndex=W.Vertical,l.previousState=o,l.currentState=this.pointer[W.Vertical],this.onInputChangedObservable.notifyObservers(l)),l.inputIndex=s.button+2,l.previousState=u,l.currentState=this.pointer[s.button+2],this.onInputChangedObservable.notifyObservers(l)},this._pointerUpEvent=n=>{const s=n,i=this._getPointerType(s),a=this.pointer[W.Horizontal],o=this.pointer[W.Vertical],u=this.pointer[s.button+2];this.pointer[W.Horizontal]=s.clientX,this.pointer[W.Vertical]=s.clientY,this.pointer[s.button+2]=0;const l=s;l.deviceType=i,a!==s.clientX&&(l.inputIndex=W.Horizontal,l.previousState=a,l.currentState=this.pointer[W.Horizontal],this.onInputChangedObservable.notifyObservers(l)),o!==s.clientY&&(l.inputIndex=W.Vertical,l.previousState=o,l.currentState=this.pointer[W.Vertical],this.onInputChangedObservable.notifyObservers(l)),l.inputIndex=s.button+2,l.previousState=u,l.currentState=this.pointer[s.button+2],i===R1.Mouse&&this._mouseId>=0&&this._canvasEle.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,this._canvasEle.releasePointerCapture(this._mouseId)):l.pointerId&&this._canvasEle.hasPointerCapture(l.pointerId)&&(this._remainCapture=l.pointerId,this._canvasEle.releasePointerCapture(l.pointerId)),this.onInputChangedObservable.notifyObservers(l),i!==R1.Mouse&&(this.pointer={})},this._pointerEnterEvent=n=>{const s=this._getPointerType(n),i=n;i.deviceType=s,i.currentState=2,this.onInputChangedObservable.notifyObservers(i)},this._pointerLeaveEvent=n=>{const s=this._getPointerType(n),i=n;i.deviceType=s,i.currentState=3,this.onInputChangedObservable.notifyObservers(i)},this._pointerBlurEvent=n=>{this._mouseId>=0&&this._canvasEle.hasPointerCapture(this._mouseId)&&(this._canvasEle.releasePointerCapture(this._mouseId),this._remainCapture=this._mouseId,this._mouseId=-1),this.pointer={}},this._pointerWheelEvent=n=>{const s=R1.Mouse,i=this.pointer[W.MouseWheelX],a=this.pointer[W.MouseWheelY],o=this.pointer[W.MouseWheelZ];this.pointer[W.MouseWheelX]=n.deltaX||0,this.pointer[W.MouseWheelY]=n.deltaY||n.wheelDelta||0,this.pointer[W.MouseWheelZ]=n.deltaZ||0;const u=n;u.deviceType=s,this.pointer[W.MouseWheelX]!==0&&(u.inputIndex=W.MouseWheelX,u.previousState=i,u.currentState=this.pointer[W.MouseWheelX],this.onInputChangedObservable.notifyObservers(u)),this.pointer[W.MouseWheelY]!==0&&(u.inputIndex=W.MouseWheelY,u.previousState=a,u.currentState=this.pointer[W.MouseWheelY],this.onInputChangedObservable.notifyObservers(u)),this.pointer[W.MouseWheelZ]!==0&&(u.inputIndex=W.MouseWheelZ,u.previousState=o,u.currentState=this.pointer[W.MouseWheelZ],this.onInputChangedObservable.notifyObservers(u))},this._canvasEle.addEventListener(`${e}enter`,this._pointerEnterEvent),this._canvasEle.addEventListener(`${e}leave`,this._pointerLeaveEvent),this._canvasEle.addEventListener(`${e}move`,this._pointerMoveEvent),this._canvasEle.addEventListener(`${e}down`,this._pointerDownEvent),this._canvasEle.addEventListener(`${e}up`,this._pointerUpEvent),this._canvasEle.addEventListener("blur",this._pointerBlurEvent),this._canvasEle.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_getWheelEventName(){return"onwheel"in document.createElement("div")?"wheel":document.onmousewheel!==void 0?"mousewheel":"DOMMouseScroll"}_getPassive(){let e=!1;const n=()=>{};try{const s={passive:{get(){e=!0}}};this._canvasEle.addEventListener("test",n,s),this._canvasEle.removeEventListener("test",n,s)}catch{}return e}_getPointerType(e){let n=R1.Mouse;return(e.pointerType==="touch"||e.pointerType==="pen"||e.touches)&&(n=R1.Touch),n}_matchMediaHandler(){if(!(window!=null&&window.matchMedia))return;const e=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),n=()=>{this.resize()};e.addEventListener("change",n),this.disposeWithMe(g.toDisposable(()=>{e.removeEventListener("change",n)}))}}class Mn extends ne{constructor(e,...n){super(e);d(this,"_objects",[]);this.addObjects(...n)}get classType(){return K.GROUP}set cursor(e){this.setCursor(e)}addObjects(...e){for(const n of e)this.addObject(n)}addObject(e){let n=e;if($t(e)){const s=this.getScene();if(n=s==null?void 0:s.getObject(e),!n)return;n.parent=this,n.isInGroup=!0,n.groupKey=this.oKey,this._objects.push(n)}else e.parent=this,e.isInGroup=!0,e.groupKey=this.oKey,this._objects.push(e)}removeObject(e){const n=this.getObjects(),s=n.length;if($t(e))for(let i=0;i<s;i++){const a=n[i];if(a.oKey===e){n.splice(i,1),this.parent.removeObject(a);return}}else for(let i=0;i<s;i++){const a=n[i];if(a===e){n.splice(i,1),this.parent.removeObject(a);return}}}getObjectsByOrder(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)!n.isInGroup&&n.visible&&e.push(n);return e}getObjects(){return this._objects}render(e,n){e.save();const s=this.transform.getMatrix();e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._objects.sort(g.sortRules);for(const i of this._objects)i.render(e,this._transformBounds(n));e.restore()}resize(e,n){return this}scale(e,n){return this}skew(e,n){return this}flip(e,n){return this}isHit(e){return!0}pick(e){}dispose(){this.getObjects().forEach(e=>{e.dispose()}),super.dispose()}_transformBounds(e){return e}}class Pn extends g.Disposable{constructor(e,n=[],s=1,i=!1){super();d(this,"_objects",[]);d(this,"_cacheCanvas");d(this,"_dirty",!0);this._scene=e,this._zIndex=s,this._allowCache=i,this.addObjects(n),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var e;this._allowCache=!1,(e=this._cacheCanvas)==null||e.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)!n.isInGroup&&n.visible&&e.push(n);return e}getObjectsByOrderForPick(){const e=[];this._objects.sort(g.sortRules);for(const n of this._objects)n.classType!==K.GROUP&&n.visible&&e.push(n);return e}getObjects(){return this._objects}addObject(e){if(e.classType===K.GROUP){const n=e.getObjects();for(const s of n)this.scene.getObject(s.oKey)||(this._objects.push(s),this.scene.setObjectBehavior(s),this._layerBehavior(s))}return this._objects.push(e),this.scene.setObjectBehavior(e),this._layerBehavior(e),this.scene.applyTransformer(e),this}removeObject(e){const n=this.getObjects(),s=n.length;if(e instanceof ne){for(let i=0;i<s;i++)if(n[i]===e){n.splice(i,1);return}}else for(let i=0;i<s;i++)if(n[i].oKey===e){n.splice(i,1);return}}addObjects(e){return e.forEach(n=>{this.addObject(n)}),this}removeObjects(e){const n=this.getObjects(),s=n.length;for(let i=s-1;i>=0;i--){let a=n[i];const o=e.length;if(o===0)break;for(let u=0;u<o;u++){const l=e[u];if(a=l instanceof ne?a:a.oKey,a===l){n.splice(i,1);break}}}}makeDirty(e=!0){this._dirty=e;const n=this.scene.getParent();return n.classType===K.SCENE_VIEWER&&n.makeDirty(!0),this}isDirty(){return this._dirty}render(e,n=!1){var i;const s=e||((i=this._scene.getEngine())==null?void 0:i.getCanvas().getContext());if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){const a=this._cacheCanvas.getContext();this._cacheCanvas.clear(),a.save(),a.setTransform(s.getTransform()),this._draw(a,n),a.restore()}this._applyCache(s)}else s.save(),this._draw(s,n),s.restore();return this.makeDirty(!1),this}_layerBehavior(e){this.disposeWithMe(g.toDisposable(e.onTransformChangeObservable.add(()=>{this.makeDirty(!0)}))),e.layer=this}_initialCacheCanvas(){this._cacheCanvas=new Ge,this.disposeWithMe(g.toDisposable(this._scene.getEngine().onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()})))}_draw(e,n){var s;(s=this._scene.getViewports())==null||s.forEach(i=>i.render(e,this.getObjectsByOrder(),n))}_applyCache(e){if(!e||this._cacheCanvas==null)return;const n=this._cacheCanvas.getWidth(),s=this._cacheCanvas.getHeight();e.drawImage(this._cacheCanvas.getCanvasEle(),0,0,n,s)}_resizeCacheCanvas(){var n;const e=this._scene.getEngine();(n=this._cacheCanvas)==null||n.setSize(e.width,e.height),this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var e;super.dispose(),this.getObjects().forEach(n=>{n.dispose()}),this.clear(),(e=this._cacheCanvas)==null||e.dispose()}}var Nn=(r=>(r[r.NONE=0]="NONE",r[r.X=1]="X",r[r.Y=2]="Y",r[r.ALL=3]="ALL",r))(Nn||{});class Qe{constructor(t,e=3,n,s=.4,i=.1){d(this,"_requestNewFrameNumber",-1);d(this,"_viewport");d(this,"_offsetX",0);d(this,"_offsetY",0);d(this,"_moveX",0);d(this,"_moveY",0);d(this,"_scrollX",0);d(this,"_scrollY",0);d(this,"_scrollFunction");this._scene=t,this._scrollTimerType=e,this._padding=n,this._smoothRatioX=s,this._smoothRatioY=i,this._padding||(this._padding={t:0,b:15,l:0,r:60})}static create(t,e=3,n){return new Qe(t,e,n)}set scrollTimerType(t){this._scrollTimerType=t}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(t){this._viewport=t}getActiveViewport(){return this._viewport}startScroll(t,e,n){this._offsetX=t,this._offsetY=e,this._moveX=t,this._moveY=e,n!=null?this._viewport=n:this._viewport=this.getViewportByCoord(this._scene),this._runRenderLoop()}_scroll(t){const e=(t==null?void 0:t.top)||0,n=e+((t==null?void 0:t.height)||0),s=(t==null?void 0:t.left)||0,i=s+((t==null?void 0:t.width)||0),{t:a=0,b:o=0,r:u=0,l=0}=this._padding;let c=0,h=0,f=!1;if(this._scrollTimerType&1&&(this._moveX<s+l&&(c=(this._moveX-s-l)*this._smoothRatioX,f=!0),this._moveX>i-u&&(c=(this._moveX-i+u)*this._smoothRatioX,f=!0)),this._scrollTimerType&2&&(this._moveY<e+a&&(h=(this._moveY-e-a)*this._smoothRatioY,f=!0),this._moveY>n-o&&(h=(this._moveY-n+o)*this._smoothRatioY,f=!0)),!f)return;const _=t==null?void 0:t.scrollBy({x:c,y:h}),p=t==null?void 0:t.getActualScroll(c,h);if(this._scrollX=(p==null?void 0:p.x)||0,this._scrollY=(p==null?void 0:p.y)||0,_){const m=this._findAncestorScene(t==null?void 0:t.scene),v=this.getViewportByCoord(m);v&&this._scroll(v)}}scrolling(t,e,n){this._moveX=t,this._moveY=e,this._scrollFunction=n}stopScroll(){E0(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getViewportByCoord(t){return t==null?void 0:t.getActiveViewportByRelativeCoord(P.FromArray([this._offsetX,this._offsetY]))}getScene(){return this._scene}_runRenderLoop(){this._scroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=u2(this._runRenderLoop.bind(this))}_findAncestorScene(t){let e=t==null?void 0:t.getParent();for(;e;){if(e.classType===K.SCENE)return e;e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent())}}}const Un=["radius"];class L1 extends $e{constructor(e,n){super(e,n);d(this,"_radius",0);n!=null&&n.radius&&(this._radius=n.radius)}get radius(){return this._radius}static drawWith(e,n){let{radius:s,width:i,height:a}=n;if(s=s!=null?s:0,i=i!=null?i:30,a=a!=null?a:30,e.beginPath(),n.strokeDashArray&&e.setLineDash(n.strokeDashArray),!s)e.rect(0,0,i,a);else{let o=0,u=0,l=0,c=0;o=u=l=c=Math.min(s,i/2,a/2),e.moveTo(o,0),e.lineTo(i-u,0),e.arc(i-u,u,u,Math.PI*3/2,0,!1),e.lineTo(i,a-c),e.arc(i-c,a-c,c,0,Math.PI/2,!1),e.lineTo(l,a),e.arc(l,a-l,l,Math.PI/2,Math.PI,!1),e.lineTo(0,o),e.arc(o,o,o,Math.PI,Math.PI*3/2,!1)}e.closePath(),this._renderPaintInOrder(e,n)}toJson(){const e={};return Un.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){L1.drawWith(e,this)}}const Eo=["__SpreadsheetTransformerResizeLT__","__SpreadsheetTransformerResizeCT__","__SpreadsheetTransformerResizeRT__","__SpreadsheetTransformerResizeLM__","__SpreadsheetTransformerResizeRM__","__SpreadsheetTransformerResizeLB__","__SpreadsheetTransformerResizeCB__","__SpreadsheetTransformerResizeRB__"];class So extends g.Disposable{constructor(e,n){super();d(this,"hoverEnabled",!1);d(this,"hoverEnterFunc");d(this,"hoverLeaveFunc");d(this,"resizeEnabled",!0);d(this,"rotateEnabled",!0);d(this,"rotationSnaps",[]);d(this,"rotationSnapTolerance",5);d(this,"rotateAnchorOffset",50);d(this,"rotateSize",10);d(this,"rotateCornerRadius",10);d(this,"borderEnabled",!0);d(this,"borderStroke","rgb(97, 97, 97)");d(this,"borderStrokeWidth",1);d(this,"borderDash",[]);d(this,"borderSpacing",10);d(this,"anchorFill","rgb(255,255,255)");d(this,"anchorStroke","rgb(185,185,185)");d(this,"anchorStrokeWidth",1);d(this,"anchorSize",10);d(this,"anchorCornerRadius",10);d(this,"keepRatio",!0);d(this,"centeredScaling",!1);d(this,"enabledAnchors",[1,1,1,1,1,1,1,1]);d(this,"flipEnabled",!1);d(this,"ignoreStroke",!1);d(this,"boundBoxFunc");d(this,"useSingleNodeRotation",!1);d(this,"shouldOverdrawWholeArea",!1);d(this,"onChangeStartObservable",new g.Observable);d(this,"onChangingObservable",new g.Observable);d(this,"onChangeEndObservable",new g.Observable);d(this,"onClearControlObservable",new g.Observable);d(this,"onCreateControlObservable",new g.Observable);d(this,"_startOffsetX",-1);d(this,"_startOffsetY",-1);d(this,"_viewportScrollX",-1);d(this,"_viewportScrollY",-1);d(this,"_moveObserver");d(this,"_upObserver");d(this,"_cancelFocusObserver");d(this,"_transformerControlMap",new Map);d(this,"_selectedObjectMap",new Map);this._scene=e,this._initialProps(n)}getScene(){return this._scene}hideControl(){this._hideControl()}attachTo(e){if(e.isTransformer)return this.hoverEnabled&&(this.hoverEnterFunc&&e.onPointerEnterObserver.add(this.hoverEnterFunc),this.hoverLeaveFunc&&e.onPointerLeaveObserver.add(this.hoverLeaveFunc)),this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((n,s)=>{const{offsetX:i,offsetY:a}=n;this._startOffsetX=i,this._startOffsetY=a;const o=this._getTopScene();if(!o)return;this._addCancelObserver(o),o.disableEvent();const u=Qe.create(o);u.startScroll(i,a);const{scrollX:l,scrollY:c}=He(u);this._viewportScrollX=l,this._viewportScrollY=c,this._updateActiveObjectList(e,n),this._moveObserver=o.onPointerMoveObserver.add(h=>{const{offsetX:f,offsetY:_}=h;this._moving(f,_,u),this._hideControl(),u.scrolling(f,_,()=>{this._moving(f,_,u)})}),this._upObserver=o.onPointerUpObserver.add(()=>{o.onPointerMoveObserver.remove(this._moveObserver),o.onPointerUpObserver.remove(this._upObserver),o.enableEvent(),this._updateControl(),u.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),s.stopPropagation()}))),e}dispose(){var e,n,s;(e=this._moveObserver)==null||e.dispose(),(n=this._upObserver)==null||n.dispose(),(s=this._cancelFocusObserver)==null||s.dispose(),this._moveObserver=null,this._upObserver=null,this._cancelFocusObserver=null,this._transformerControlMap.forEach(i=>{i.dispose()}),this._selectedObjectMap.forEach(i=>{i.dispose()}),this.onChangeStartObservable.clear(),this.onChangingObservable.clear(),this.onChangeEndObservable.clear()}_initialProps(e){if(!e)return;const n=Object.keys(e);n.length!==0&&n.forEach(s=>{if(e[s]===void 0)return!0;this[s]=e[s]})}_updateControlChildren(){this._updateControlIterator((e,n)=>{const{left:s,top:i,width:a,height:o,scaleX:u,scaleY:l}=n.getState();e.getObjects().forEach(h=>{const f=h.oKey,_=this._checkTransformerType(f);if(!_)return!0;if(_==="__SpreadsheetTransformerOutline__")h.transformByState(this._getOutlinePosition(a,o,u,l));else{const{left:p,top:m}=this._getRotateAnchorPosition(_,o,a);h.transformByState({left:p,top:m})}}),e.transformByState({left:s,top:i})})}_anchorMoving(e,n,s,i){const{scrollX:a,scrollY:o}=He(i),u=n-this._viewportScrollX+a,l=s-this._viewportScrollY+o,c=u-this._startOffsetX,h=l-this._startOffsetY;this._selectedObjectMap.forEach(f=>{const{left:_,top:p,width:m,height:v}=f,F={};switch(e){case"__SpreadsheetTransformerResizeLT__":F.left=_+c,F.top=p+h,F.width=m-c,F.height=v-h;break;case"__SpreadsheetTransformerResizeCT__":F.top=p+h,F.height=v-h;break;case"__SpreadsheetTransformerResizeRT__":F.top=p+h,F.width=m+c,F.height=v-h;break;case"__SpreadsheetTransformerResizeLM__":F.left=_+c,F.width=m-c;break;case"__SpreadsheetTransformerResizeRM__":F.width=c+m;break;case"__SpreadsheetTransformerResizeLB__":F.left=_+c,F.width=m-c,F.height=v+h;break;case"__SpreadsheetTransformerResizeCB__":F.height=h+v;break;case"__SpreadsheetTransformerResizeRB__":F.width=c+m,F.height=h+v;break}f.transformByState(F)}),this._updateControlChildren(),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:c,moveY:h,type:1}),this._startOffsetX=u,this._startOffsetY=l}_attachEventToAnchor(e,n="__SpreadsheetTransformerResizeLT__"){this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((s,i)=>{const{offsetX:a,offsetY:o}=s;this._startOffsetX=a,this._startOffsetY=o;const u=this._getTopScene();if(u==null)return;u.disableEvent();const l=Qe.create(u);l.startScroll(a,o);const{scrollX:c,scrollY:h}=He(l);this._viewportScrollX=c,this._viewportScrollY=h;const f=this._getRotateAnchorCursor(n);this._moveObserver=u.onPointerMoveObserver.add(_=>{const{offsetX:p,offsetY:m}=_;this._anchorMoving(n,p,m,l),l.scrolling(p,m,()=>{this._anchorMoving(n,p,m,l)}),u.setCursor(f)}),this._upObserver=u.onPointerUpObserver.add(()=>{u.onPointerMoveObserver.remove(this._moveObserver),u.onPointerUpObserver.remove(this._upObserver),u.enableEvent(),u.resetCursor(),l.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),i.stopPropagation()})))}_attachEventToRotate(e){this.disposeWithMe(g.toDisposable(e.onPointerDownObserver.add((n,s)=>{const{offsetX:i,offsetY:a}=n;this._startOffsetX=i,this._startOffsetY=a;const o=this._getTopScene();o!=null&&(o.disableEvent(),this._viewportScrollX=scrollX,this._viewportScrollY=scrollY,this._upObserver=o.onPointerUpObserver.add(()=>{o.onPointerMoveObserver.remove(this._moveObserver),o.onPointerUpObserver.remove(this._upObserver),o.enableEvent()}),s.stopPropagation())})))}_getOutlinePosition(e,n,s,i){return{left:-this.borderSpacing-this.borderStrokeWidth,top:-this.borderSpacing-this.borderStrokeWidth,width:e+this.borderSpacing*2,height:n+this.borderSpacing*2}}_getRotateAnchorCursor(e){let n=d1.NORTH_WEST_RESIZE;switch(e){case"__SpreadsheetTransformerRotate__":n=d1.MOVE;break;case"__SpreadsheetTransformerRotateLine__":n=d1.MOVE;break;case"__SpreadsheetTransformerResizeLT__":break;case"__SpreadsheetTransformerResizeCT__":n=d1.NORTH_RESIZE;break;case"__SpreadsheetTransformerResizeRT__":n=d1.NORTH_EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLM__":n=d1.WEST_RESIZE;break;case"__SpreadsheetTransformerResizeRM__":n=d1.EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLB__":n=d1.SOUTH_WEST_RESIZE;break;case"__SpreadsheetTransformerResizeCB__":n=d1.SOUTH_RESIZE;break;case"__SpreadsheetTransformerResizeRB__":n=d1.SOUTH_EAST_RESIZE;break}return n}_getRotateAnchorPosition(e,n,s){let i=-this.anchorSize/2,a=-this.anchorSize/2;switch(e){case"__SpreadsheetTransformerRotate__":i=s/2-this.rotateSize/2,a=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth*2-this.rotateSize;break;case"__SpreadsheetTransformerRotateLine__":i=s/2,a=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLT__":i+=-this.borderSpacing-this.borderStrokeWidth,a+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCT__":i+=s/2,a+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRT__":i+=s+this.borderSpacing-this.borderStrokeWidth,a+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLM__":i+=-this.borderSpacing-this.borderStrokeWidth,a+=n/2;break;case"__SpreadsheetTransformerResizeRM__":i+=s+this.borderSpacing-this.borderStrokeWidth,a+=n/2;break;case"__SpreadsheetTransformerResizeLB__":i+=-this.borderSpacing-this.borderStrokeWidth,a+=n+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCB__":i+=s/2,a+=n+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRB__":i+=s+this.borderSpacing-this.borderStrokeWidth,a+=n+this.borderSpacing-this.borderStrokeWidth;break}return{left:i,top:a}}_createResizeAnchor(e,n,s){const{height:i,width:a,scaleX:o,scaleY:u}=n.getState(),{left:l,top:c}=this._getRotateAnchorPosition(e,i,a),h=this._getRotateAnchorCursor(e),f=new L1(`${e}_${s}`,{zIndex:s-1,fill:this.anchorFill,stroke:this.anchorStroke,strokeWidth:this.anchorStrokeWidth,width:this.anchorSize,height:this.anchorSize,radius:this.anchorCornerRadius,left:l,top:c});return this._attachHover(f,h,d1.DEFAULT),f}_checkTransformerType(e){if(e.indexOf("__SpreadsheetTransformerOutline__")>-1)return"__SpreadsheetTransformerOutline__";if(e.indexOf("__SpreadsheetTransformerRotate__")>-1)return"__SpreadsheetTransformerRotate__";if(e.indexOf("__SpreadsheetTransformerRotateLine__")>-1)return"__SpreadsheetTransformerRotateLine__";if(e.indexOf("__SpreadsheetTransformerResizeLT__")>-1)return"__SpreadsheetTransformerResizeLT__";if(e.indexOf("__SpreadsheetTransformerResizeCT__")>-1)return"__SpreadsheetTransformerResizeCT__";if(e.indexOf("__SpreadsheetTransformerResizeRT__")>-1)return"__SpreadsheetTransformerResizeRT__";if(e.indexOf("__SpreadsheetTransformerResizeLM__")>-1)return"__SpreadsheetTransformerResizeLM__";if(e.indexOf("__SpreadsheetTransformerResizeRM__")>-1)return"__SpreadsheetTransformerResizeRM__";if(e.indexOf("__SpreadsheetTransformerResizeLB__")>-1)return"__SpreadsheetTransformerResizeLB__";if(e.indexOf("__SpreadsheetTransformerResizeCB__")>-1)return"__SpreadsheetTransformerResizeCB__";if(e.indexOf("__SpreadsheetTransformerResizeRB__")>-1)return"__SpreadsheetTransformerResizeRB__"}_updateControlIterator(e){this._transformerControlMap.forEach((n,s)=>{const i=this._selectedObjectMap.get(s);if(!i)return!0;e(n,i)})}_updateControl(){this._updateControlIterator((e,n)=>{const{left:s,top:i}=n.getState();e.transformByState({left:s,top:i}),e.show(),e.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(e=>{e.hide(),e.makeDirty(!0)})}_attachHover(e,n,s){this.disposeWithMe(g.toDisposable(e.onPointerEnterObserver.add(()=>{e.cursor=n}))),this.disposeWithMe(g.toDisposable(e.onPointerLeaveObserver.add(()=>{e.cursor=s})))}_clearControl(){this._transformerControlMap.forEach(e=>{e.dispose()}),this._transformerControlMap.clear(),this.onClearControlObservable.notifyObservers(null)}_createControl(e){const{left:n,top:s,height:i,width:a,angle:o,scaleX:u,scaleY:l,skewX:c,skewY:h,flipX:f,flipY:_}=e.getState(),p=e.oKey,m=this._selectedObjectMap.size,v=[];if(this.borderEnabled){const S=new L1(`__SpreadsheetTransformerOutline___${m}`,{zIndex:m-1,evented:!1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke,...this._getOutlinePosition(a,i,u,l)});v.push(S)}if(this.resizeEnabled){const{left:S,top:B}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotateLine__",i,a),x=new L1(`__SpreadsheetTransformerRotateLine___${m}`,{zIndex:m-1,evented:!1,left:S,top:B,height:this.rotateAnchorOffset,width:1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke}),{left:w,top:O}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotate__",i,a),T=this._getRotateAnchorCursor("__SpreadsheetTransformerRotate__"),R=new L1(`__SpreadsheetTransformerRotate___${m}`,{zIndex:m-1,left:w,top:O,height:this.rotateSize,width:this.rotateSize,radius:this.rotateCornerRadius,strokeWidth:this.borderStrokeWidth*2,stroke:this.borderStroke});this._attachEventToRotate(R),this._attachHover(R,T,d1.DEFAULT),v.push(x,R)}if(this.resizeEnabled)for(let S=0,B=this.enabledAnchors.length;S<B;S++){if(this.enabledAnchors[S]!==1)continue;const w=Eo[S],O=this._createResizeAnchor(w,e,m);this._attachEventToAnchor(O,w),v.push(O)}const F=new Mn(`__SpreadsheetTransformer___${m}`,...v);return F.zIndex=m,F.evented=!1,F.transformByState({left:n,top:s}),this.getScene().addObject(F,2),this._transformerControlMap.set(p,F),this.onCreateControlObservable.notifyObservers(F),F}_getTopScene(){var n;return(n=this.getScene().getEngine())==null?void 0:n.activeScene}_moving(e,n,s){const{scrollX:i,scrollY:a}=He(s),o=e-this._viewportScrollX+i,u=n-this._viewportScrollY+a,l=o-this._startOffsetX,c=u-this._startOffsetY;this._selectedObjectMap.forEach(h=>{h.translate(l+h.left,c+h.top)}),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:l,moveY:c,type:1}),this._startOffsetX=o,this._startOffsetY=u}_updateActiveObjectList(e,n){this._selectedObjectMap.has(e.oKey)||(n.ctrlKey||(this._selectedObjectMap.clear(),this._clearControl()),this._selectedObjectMap.set(e.oKey,e),this._createControl(e))}_addCancelObserver(e){e.onPointerDownObserver.remove(this._cancelFocusObserver),this._cancelFocusObserver=e.onPointerDownObserver.add(()=>{this._selectedObjectMap.clear(),this._clearControl(),e.onPointerDownObserver.remove(this._cancelFocusObserver)})}}const G1=class G1 extends g.Disposable{constructor(e){super();d(this,"_alreadyAttached",!1);d(this,"_onInputObserver");d(this,"_onPointerMove");d(this,"_onPointerDown");d(this,"_onPointerUp");d(this,"_onPointerEnter");d(this,"_onPointerLeave");d(this,"_onMouseWheel");d(this,"_onKeyDown");d(this,"_onKeyUp");d(this,"_scene");d(this,"_currentMouseEnterPicked");d(this,"_startingPosition",new P(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY));d(this,"_delayedTimeout",-1);d(this,"_delayedTripeTimeout",-1);d(this,"_doubleClickOccurred",0);d(this,"_tripleClickState",!1);d(this,"_currentObject");this._scene=e}mouseLeaveEnterHandler(e){var s;const n=this._currentObject;if(n==null)(s=this._currentMouseEnterPicked)==null||s.triggerPointerLeave(e),this._currentMouseEnterPicked=null;else if(n!==this._currentMouseEnterPicked){const i=this._currentMouseEnterPicked;this._currentMouseEnterPicked=n,i==null||i.triggerPointerLeave(e),n==null||n.triggerPointerEnter(e)}}attachControl(e=!0,n=!0,s=!0,i=!0,a=!0,o=!0){const u=this._scene.getEngine();u&&(this._onPointerEnter=l=>{var c;l.pointerId===void 0&&(l.pointerId=0),this._currentObject=this._getCurrentObject(l.offsetX,l.offsetY),(c=this._currentObject)==null||c.triggerPointerMove(l),this.mouseLeaveEnterHandler(l)},this._onPointerLeave=l=>{l.pointerId===void 0&&(l.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(l)},this._onPointerMove=l=>{var h;l.pointerId===void 0&&(l.pointerId=0),this._currentObject=this._getCurrentObject(l.offsetX,l.offsetY);const c=(h=this._currentObject)==null?void 0:h.triggerPointerMove(l);this.mouseLeaveEnterHandler(l),this._checkDirectSceneEventTrigger(!c,this._currentObject)&&this._scene.onPointerMoveObserver.hasObservers()&&this._scene.onPointerMoveObserver.notifyObservers(l)},this._onPointerDown=l=>{l.pointerId===void 0&&(l.pointerId=0);const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerPointerDown(l);this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onPointerDownObserver.hasObservers()&&this._scene.onPointerDownObserver.notifyObservers(l)},this._onPointerUp=l=>{l.pointerId===void 0&&(l.pointerId=0);const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerPointerUp(l);this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onPointerUpObserver.hasObservers()&&this._scene.onPointerUpObserver.notifyObservers(l),this._prePointerDoubleOrTripleClick(l)},this._onMouseWheel=l=>{const c=this._getCurrentObject(l.offsetX,l.offsetY),h=c==null?void 0:c.triggerMouseWheel(l);this._scene.getViewports().forEach(f=>{f.onMouseWheelObserver.hasObservers()&&f.onMouseWheelObserver.notifyObservers(l)}),this._checkDirectSceneEventTrigger(!h,c)&&this._scene.onMouseWheelObserver.hasObservers()&&this._scene.onMouseWheelObserver.notifyObservers(l)},this._onKeyDown=l=>{this._scene.onKeyDownObservable.hasObservers()&&this._scene.onKeyDownObservable.notifyObservers(l)},this._onKeyUp=l=>{this._scene.onKeyUpObservable.hasObservers()&&this._scene.onKeyUpObservable.notifyObservers(l)},this._onInputObserver=u.onInputChangedObservable.add(l=>{const c=l;l.deviceType===R1.Keyboard&&(l.currentState===1&&this._onKeyDown(c),l.currentState===0&&this._onKeyUp(c)),(l.deviceType===R1.Mouse||l.deviceType===R1.Touch)&&(e&&l.inputIndex>=W.LeftClick&&l.inputIndex<=W.RightClick&&l.currentState===1&&this._onPointerDown(c),n&&l.inputIndex>=W.LeftClick&&l.inputIndex<=W.RightClick&&l.currentState===0&&this._onPointerUp(c),s&&(l.inputIndex===W.Horizontal||l.inputIndex===W.Vertical||l.inputIndex===W.DeltaHorizontal||l.inputIndex===W.DeltaVertical)?this._onPointerMove(c):i&&(l.inputIndex===W.MouseWheelX||l.inputIndex===W.MouseWheelY||l.inputIndex===W.MouseWheelZ)?this._onMouseWheel(c):a&&l.currentState===2?this._onPointerEnter(c):o&&l.currentState===3&&this._onPointerLeave(c))}),this.disposeWithMe(g.toDisposable(this._onInputObserver)),this._alreadyAttached=!0)}detachControl(){if(!this._alreadyAttached)return;const e=this._scene.getEngine();e&&(e.onInputChangedObservable.remove(this._onInputObserver),this._alreadyAttached=!1)}_getCurrentObject(e,n){var s;return(s=this._scene)==null?void 0:s.pick(P.FromArray([e,n]))}_checkDirectSceneEventTrigger(e,n){let s=!1;n==null&&(s=!0);let i=!0;if(n&&n.classType===K.BASE_OBJECT){const a=n.getScene();a&&(i=a.getParent().classType!==K.SCENE_VIEWER)}return!this._scene.evented&&e&&i||s}_isPointerSwiping(e,n){return Math.abs(this._startingPosition.x-e)>G1.DragMovementThreshold||Math.abs(this._startingPosition.y-n)>G1.DragMovementThreshold}_prePointerDoubleOrTripleClick(e){var a,o,u,l;const{clientX:n,clientY:s}=e;this._isPointerSwiping(n,s)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},G1.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState&&((o=(a=this._scene)==null?void 0:a.pick(P.FromArray([e.offsetX,e.offsetY])))==null||o.triggerTripleClick(e),this._scene.onTripleClickObserver.hasObservers()&&this._scene.onTripleClickObserver.notifyObservers(e)),this._doubleClickOccurred===2&&((l=(u=this._scene)==null?void 0:u.pick(P.FromArray([e.offsetX,e.offsetY])))==null||l.triggerDblclick(e),this._scene.onDblclickObserver.hasObservers()&&this._scene.onDblclickObserver.notifyObservers(e),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},G1.TripleClickDelay)),this._startingPosition.x=n,this._startingPosition.y=s}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}};d(G1,"DragMovementThreshold",2),d(G1,"LongPressDelay",500),d(G1,"DoubleClickDelay",500),d(G1,"TripleClickDelay",300),d(G1,"ExclusiveDoubleClickMode",!1);let e0=G1;class To extends g.Disposable{constructor(e){super();d(this,"onTransformChangeObservable",new g.Observable);d(this,"onFileLoadedObservable",new g.Observable);d(this,"onPointerDownObserver",new g.Observable);d(this,"onPointerMoveObserver",new g.Observable);d(this,"onPointerUpObserver",new g.Observable);d(this,"onPointerEnterObserver",new g.Observable);d(this,"onPointerLeaveObserver",new g.Observable);d(this,"onDblclickObserver",new g.Observable);d(this,"onTripleClickObserver",new g.Observable);d(this,"onMouseWheelObserver",new g.Observable);d(this,"onKeyDownObservable",new g.Observable);d(this,"onKeyUpObservable",new g.Observable);d(this,"debounceParentTimeout",-1);d(this,"_sceneKey","");d(this,"_width",100);d(this,"_height",100);d(this,"_scaleX",1);d(this,"_scaleY",1);d(this,"_transform",new m1);d(this,"_evented",!0);this._sceneKey=e}get classType(){return K.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 evented(){return this._evented}set transform(e){this._transform=e}set width(e){this._width=e}set height(e){this._height=e}set scaleX(e){this._scaleX=e}set scaleY(e){this._scaleY=e}enableEvent(){this._evented=!0}disableEvent(){this._evented=!1}on(e,n){return this[`on${e}Observer`].add(n.bind(this))}off(e,n){this[`on${e}Observer`].remove(n)}remove(e){this[`on${e}Observer`].clear()}triggerKeyDown(e){this.onKeyDownObservable.notifyObservers(e)}triggerKeyUp(e){this.onKeyUpObservable.notifyObservers(e)}triggerPointerUp(e){}triggerMouseWheel(e){}triggerPointerMove(e){}triggerDblclick(e){}triggerTripleClick(e){}triggerPointerDown(e){}triggerPointerOut(e){}triggerPointerLeave(e){}triggerPointerOver(e){}triggerPointerEnter(e){}renderObjects(e,n){}render(e){}getParent(){}dispose(){super.dispose()}getObject(e){}addObject(e,n=1){}addObjects(e,n=1){}getEngine(){}setObjectBehavior(e){}applyTransformer(e){}makeDirtyNoParent(e=!0){return this}makeDirty(e=!0){return this}pick(e){}getViewports(){return[]}addViewport(...e){}removeViewport(e){}getAncestorScale(){return{scaleX:1,scaleY:1}}getPrecisionScale(){return{scaleX:1,scaleY:1}}setCursor(e){}resetCursor(){}}class Hn extends To{constructor(e,n,s){var i;super(e);d(this,"_layers",[]);d(this,"_viewports",[]);d(this,"_cursor",d1.DEFAULT);d(this,"_defaultCursor",d1.DEFAULT);d(this,"_addObject$",new u1.BehaviorSubject(this));d(this,"addObject$",this._addObject$.asObservable());d(this,"_transformer");d(this,"_transformerOpenState",!1);d(this,"_inputManager");if(this._parent=n,s&&this.transformByState(s),this._parent.classType===K.ENGINE){const a=this._parent;a.addScene(this),a.hasActiveScene()||a.setActiveScene(e),this._inputManager=new e0(this)}else this._parent.classType===K.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(g.toDisposable((i=this._parent)==null?void 0:i.onTransformChangeObservable.add(a=>{this._setTransForm()})))}get ancestorScaleX(){const e=this.getParent();let n=1;return e.classType===K.SCENE_VIEWER&&(n=e.ancestorScaleX),this.scaleX*n}get ancestorScaleY(){const e=this.getParent();let n=1;return e.classType===K.SCENE_VIEWER&&(n=e.ancestorScaleY),this.scaleY*n}set cursor(e){this.setCursor(e)}attachControl(e=!0,n=!0,s=!0,i=!0){var a;if(this._parent.classType===K.ENGINE)return(a=this._inputManager)==null||a.attachControl(e,n,s,i),this}detachControl(){var e;return(e=this._inputManager)==null||e.detachControl(),this}makeDirty(e=!0){var n;return this._layers.forEach(s=>{s.makeDirty(e)}),this._parent.classType===K.SCENE_VIEWER&&((n=this._parent)==null||n.makeDirty(e)),this}makeDirtyNoParent(e=!0){return this._layers.forEach(n=>{n.makeDirty(e)}),this}enableLayerCache(...e){e.forEach(n=>{this.getLayer(n).enableCache()})}disableLayerCache(...e){e.forEach(n=>{this.getLayer(n).disableCache()})}isDirty(){for(let e=0;e<this._layers.length;e++)if(this._layers[e].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(e){this._cursor=e;const n=this.getEngine();n&&n.setCanvasCursor(e)}setDefaultCursor(e){this._defaultCursor=e,this.resetCursor()}resize(e,n){const s=this.width;e!==void 0&&(this.width=e);const i=this.height;return n!==void 0&&(this.height=n),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.resize,value:{width:this.width,height:this.height},preValue:{width:s,height:i}}),this}scale(e,n){const s=this.scaleX;e!==void 0&&(this.scaleX=e);const i=this.scaleY;return n!==void 0&&(this.scaleY=n),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:s,scaleY:i}}),this}scaleBy(e,n){const s=this.scaleX;e!==void 0&&(this.scaleX+=e);const i=this.scaleY;return n!==void 0&&(this.scaleY+=n),this.scaleX=H2(this.scaleX,1),this.scaleY=H2(this.scaleY,1),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:s,scaleY:i}}),this}transformByState(e){const n=Object.keys(e),s={};n.length!==0&&(n.forEach(i=>{e[i]!==void 0&&(s[i]=this[i],this[i]=e[i])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:h1.all,value:e,preValue:s}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===K.ENGINE)return this._parent;let e=this._parent;for(;e;){if(e.classType===K.ENGINE)return e;e=e==null?void 0:e.getParent()}return null}getLayers(){return this._layers}getLayer(e=1){for(const n of this._layers)if(n.zIndex===e)return n;return this._createDefaultLayer(e)}getLayerMaxZIndex(){let e=Number.MIN_VALUE;for(let n=0;n<this._layers.length;n++){const s=this._layers[n];s.zIndex>=e&&(e=s.zIndex)}return e}addLayer(...e){this._layers.push(...e)}addObject(e,n=1){var s;return(s=this.getLayer(n))==null||s.addObject(e),this._addObject$.next(this),this}setObjectBehavior(e){e.parent||(e.parent=this),e.onIsAddedToParentObserver.notifyObservers(this)}addObjects(e,n=1){var s;return(s=this.getLayer(n))==null||s.addObjects(e),this._addObject$.next(this),this}removeObject(e){if(e==null)return;const n=this.getLayers();for(const s of n)s.removeObject(e);return this}removeObjects(e){if(e==null)return;const n=this.getLayers();for(const s of n)s.removeObjects(e);return this}getAllObjects(){const e=[];this._layers.sort(g.sortRules);for(const n of this._layers)e.push(...n.getObjectsByOrder());return e}getAllObjectsByOrder(e=!1){const n=[],s=e?g.sortRulesByDesc:g.sortRules;this._layers.sort(s);for(const i of this._layers)n.push(...i.getObjectsByOrder().sort(s));return n}getAllObjectsByOrderForPick(e=!1){const n=[],s=e?g.sortRulesByDesc:g.sortRules;this._layers.sort(s);for(const i of this._layers)n.push(...i.getObjectsByOrderForPick().sort(s));return n}getObject(e){for(const n of this._layers){const s=n.getObjectsByOrder();for(const i of s)if(i.oKey===e)return i}}fuzzyMathObjects(e){const n=[];for(const s of this._layers){const i=s.getObjectsByOrder();for(const a of i)a.oKey.indexOf(e)>-1&&i.push(a)}return n}addViewport(...e){return this._viewports.push(...e),this}removeViewport(e){for(let n=0,s=this._viewports.length;n<s;n++){const i=this._viewports[n];if(i.viewPortKey===e)return this._viewports.splice(n,1),i}}getViewports(){return this._viewports}getViewport(e){for(const n of this._viewports)if(n.viewPortKey===e)return n}changeObjectOrder(){}render(e){var s;if(!this.isDirty())return;!e&&((s=this.getEngine())==null||s.clearCanvas());const n=this._layers.sort(g.sortRules);for(let i=0,a=n.length;i<a;i++)n[i].render(e,i===a-1)}async requestRender(e){return new Promise((n,s)=>{this.render(e),u2(n)})}openTransformer(e){this._transformer||(this._transformer=new So(this,e)),this._transformerOpenState=!0}closeTransformer(e=!1){e&&(this._transformer=null),this._transformerOpenState=!1}applyTransformer(e){var n;this._transformerOpenState&&((n=this._transformer)==null||n.attachTo(e))}getTransformer(){return this._transformer}getActiveViewportByRelativeCoord(e){return this._viewports.find(n=>n.isHit(e))}getActiveViewportByCoord(e){return e=this.getRelativeCoord(e),this.getActiveViewportByRelativeCoord(e)}getScrollXYByRelativeCoords(e,n){return n||(n=this.getActiveViewportByRelativeCoord(e)),n?this.getScrollXY(n):{x:0,y:0}}getScrollXY(e){let n=0,s=0;if(e){const i=e.actualScrollX||0,a=e.actualScrollY||0;n+=i,s+=a}return{x:n,y:s}}getRelativeCoord(e){let n=this.getParent();const s=[];for(;n;)(n.classType===K.SCENE||n.classType===K.SCENE_VIEWER)&&s.push(n),n=(n==null?void 0:n.getParent)&&(n==null?void 0:n.getParent());s.reverse();for(const i of s)if(i.classType===K.SCENE){const o=i.getActiveViewportByCoord(e);if(o){const u=o.actualScrollX||0,l=o.actualScrollY||0;e=e.addByPoint(u,l)}}else i.classType===K.SCENE_VIEWER&&(e=i.transform.clone().invert().applyPoint(e));return e}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getAncestorScale(){let{scaleX:e=1,scaleY:n=1}=this;return this.classType===K.SCENE_VIEWER&&(e=this.ancestorScaleX||1,n=this.ancestorScaleY||1),{scaleX:e,scaleY:n}}getPrecisionScale(){var i;const e=((i=this.getEngine())==null?void 0:i.getPixelRatio())||1,{scaleX:n,scaleY:s}=this.getAncestorScale();return{scaleX:n*e,scaleY:s*e}}dispose(){var e,n;this.getLayers().forEach(s=>{s.dispose()}),this.getViewports().forEach(s=>{s.dispose()}),this.clearLayer(),this.clearViewports(),this.detachControl(),(e=this.onTransformChangeObservable)==null||e.clear(),(n=this._transformer)==null||n.dispose(),this.onPointerDownObserver.clear(),this.onPointerMoveObserver.clear(),this.onPointerUpObserver.clear(),this.onPointerEnterObserver.clear(),this.onPointerLeaveObserver.clear(),this.onDblclickObserver.clear(),this.onTripleClickObserver.clear(),this.onMouseWheelObserver.clear(),this.onKeyDownObservable.clear(),this.onKeyUpObservable.clear(),super.dispose()}pick(e){let n=this.getActiveViewportByCoord(e);if(n||(n=this._viewports[0]),!this.evented||!n)return;const s=n.pickScrollBar(e);if(s)return s;const i=n.getRelativeVector(e);let a=null;const o=this.getAllObjectsByOrderForPick().reverse(),u=o.length;for(let l=0;l<u;l++){const c=o[l];if(!c.visible||!c.evented||c.classType===K.GROUP)continue;let h=i;if(c.isInGroup&&c.parent.classType===K.GROUP){const{cumLeft:f,cumTop:_}=this._getGroupCumLeftRight(c);h=h.clone().add(P.FromArray([-f,-_]))}if(c.isHit(h)){if(c.classType===K.SCENE_VIEWER){const f=c.pick(h);f?a=f:a=c.getActiveSubScene()}else a=c;break}else if(c.classType===K.SCENE_VIEWER&&c.allowSelectedClipElement()){const f=c.pick(h);if(f){a=f;break}}}return!a&&this._parent.classType===K.ENGINE?this:a}triggerKeyDown(e){this.onKeyDownObservable.notifyObservers(e)}triggerKeyUp(e){this.onKeyUpObservable.notifyObservers(e)}triggerPointerUp(e){var n,s;return!((n=this.onPointerUpObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===K.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerUp(e),!1):!0}triggerMouseWheel(e){var n,s;return!((n=this.onMouseWheelObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===K.SCENE_VIEWER?((s=this._parent)==null||s.triggerMouseWheel(e),!1):!0}triggerPointerMove(e){var n,s;return!((n=this.onPointerMoveObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===K.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerMove(e),!1):!0}triggerDblclick(e){var n,s;return!((n=this.onDblclickObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===K.SCENE_VIEWER?((s=this._parent)==null||s.triggerDblclick(e),!1):!0}triggerTripleClick(e){var n,s;return!((n=this.onTripleClickObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===K.SCENE_VIEWER?((s=this._parent)==null||s.triggerTripleClick(e),!1):!0}triggerPointerDown(e){var n,s;return!((n=this.onPointerDownObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===K.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerDown(e),!1):!0}triggerPointerOut(e){var n;return this._parent.classType===K.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerOut(e),!1):!0}triggerPointerLeave(e){var n,s;return!((n=this.onPointerLeaveObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===K.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerLeave(e),!1):!0}triggerPointerOver(e){var n;return this._parent.classType===K.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerOver(e),!1):!0}triggerPointerEnter(e){var n,s;return!((n=this.onPointerEnterObserver.notifyObservers(e))!=null&&n.stopPropagation)&&this._parent.classType===K.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerEnter(e),!1):!0}_createDefaultLayer(e=1){const n=new Pn(this,[],e);return this.addLayer(n),n}_setTransForm(){const e=m1.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY});this.transform=e,this.getViewports().forEach(n=>{n.resetSizeAndScrollBar()}),this.makeDirty(!0)}_getGroupCumLeftRight(e){let n=e.parent,s=0,i=0;for(;n.classType===K.GROUP;){const{left:a,top:o}=n;s+=a,i+=o,n=n.parent}return{cumLeft:s,cumTop:i}}}class Gn extends g.Disposable{constructor(e,n){super();d(this,"isRenderUnit");d(this,"_injector");d(this,"_renderControllers",[]);d(this,"_renderContext");this._injector=e.createChild(),this._renderContext={unit:n.unit,unitId:n.unit.getUnitId(),type:n.unit.type,components:new Map,mainComponent:null,isMainScene:n.isMainScene,engine:n.engine,scene:n.scene}}get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(e){this._renderContext.isMainScene=e}get isMainScene(){return this._renderContext.isMainScene}set engine(e){this._renderContext.engine=e}get engine(){return this._renderContext.engine}set mainComponent(e){this._renderContext.mainComponent=e}get mainComponent(){return this._renderContext.mainComponent}set scene(e){this._renderContext.scene=e}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}dispose(){this._renderControllers.forEach(e=>e.dispose()),this._renderControllers.length=0}addRenderControllers(e){this._initControllers(e)}_initControllers(e){e.map(n=>this._injector.createInstance(n,this._renderContext)).forEach(n=>this._renderControllers.push(n))}}var xo=Object.defineProperty,Bo=Object.getOwnPropertyDescriptor,Oo=(r,t,e,n)=>{for(var s=n>1?void 0:n?Bo(t,e):t,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(n?a(t,e,s):a(s))||s);return n&&s&&xo(t,e,s),s},zn=(r,t)=>(e,n)=>t(e,n,r);const wo={width:1500,height:1e3},Ao="_UNIVER_SCENE_";y.RenderManagerService=class extends g.Disposable{constructor(e,n){super();d(this,"_defaultEngine");d(this,"_currentUnitId","");d(this,"_renderMap",new Map);d(this,"_currentRender$",new u1.BehaviorSubject(this._currentUnitId));d(this,"currentRender$",this._currentRender$.asObservable());d(this,"_createRender$",new u1.BehaviorSubject(this._currentUnitId));d(this,"createRender$",this._createRender$.asObservable());d(this,"_renderControllers",new Map);this._injector=e,this._univerInstanceService=n}get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new mt),this._defaultEngine}dispose(){super.dispose(),this._renderMap.forEach(e=>{this._disposeItem(e)}),this._renderControllers.clear(),this._renderMap.clear(),this._currentRender$.complete()}registerRenderControllers(e,n){this._renderControllers.has(e)||this._renderControllers.set(e,new Set);const s=this._renderControllers.get(e);s.add(n);for(const[i,a]of this._renderMap)this._univerInstanceService.getUnitType(i)===e&&a.addRenderControllers([n]);return g.toDisposable(()=>s.delete(n))}_getRenderControllersForType(e){var n;return Array.from((n=this._renderControllers.get(e))!=null?n:[])}createRenderWithParent(e,n){const s=this.getRenderById(n);if(s==null)throw new Error("parent render is null");const{scene:i,engine:a}=s,o=this._createRender(e,a,!1),u=o.scene,l=new Q6(e);return l.addSubScene(u),i.addObject(l),o}createRenderWithEngine(e,n){return this._createRender(e,n,!1)}create(e){this._createRender$.next(e)}createRender(e){const n=new mt;return this._createRender(e,n)}_createRender(e,n,s=!0){const i=this.getRenderById(e);let a=!0;i!=null&&i.engine===n&&(a=!1),this._disposeItem(i,a);const{width:o,height:u}=wo,l=new Hn(Ao+e,n,{width:o,height:u}),c=this._univerInstanceService.getUnit(e),h=this._univerInstanceService.getUnitType(e),f=this._getRenderControllersForType(h),_=new Gn(this._injector,{unit:c,engine:n,scene:l,isMainScene:s});return _.addRenderControllers(f),this.addRenderItem(e,_),_}addRenderItem(e,n){this._renderMap.set(e,n)}removeRender(e){const n=this._renderMap.get(e);n!=null&&(this._disposeItem(n),n.dispose()),this._renderMap.delete(e)}has(e){return this._renderMap.has(e)}setCurrent(e){this._currentUnitId=e,this._currentRender$.next(e)}getCurrent(){return this._renderMap.get(this._currentUnitId)}getFirst(){return[...this.getRenderAll().values()][0]}getRenderById(e){return this._renderMap.get(e)}getRenderAll(){return this._renderMap}_disposeItem(e,n=!0){if(e==null)return;const{engine:s,scene:i,components:a,mainComponent:o}=e;a==null||a.forEach(u=>{u.dispose()}),o==null||o.dispose(),i.dispose(),n&&s.dispose()}},y.RenderManagerService=Oo([zn(0,E1.Inject(E1.Injector)),zn(1,g.IUniverInstanceService)],y.RenderManagerService);const Xn=E1.createIdentifier("engine-render.render-manager.service");var Ro=Object.defineProperty,$o=Object.getOwnPropertyDescriptor,ko=(r,t,e,n)=>{for(var s=n>1?void 0:n?$o(t,e):t,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(n?a(t,e,s):a(s))||s);return n&&s&&Ro(t,e,s),s},Io=(r,t)=>(e,n)=>t(e,n,r);const Wn=E1.createIdentifier("univer.render-engine"),Lo="render-engine";y.UniverRenderEnginePlugin=(u0=class extends g.Plugin{constructor(t,e){super(),this._injector=e,this._injector.add([Wn,{useFactory:()=>new mt}]),this._injector.add([Xn,{useClass:y.RenderManagerService}])}},d(u0,"pluginName",Lo),u0),y.UniverRenderEnginePlugin=ko([Io(1,E1.Inject(E1.Injector))],y.UniverRenderEnginePlugin);const Yn=["radius"];class t0 extends $e{constructor(e,n){super(e,n);d(this,"_radius");this._radius=(n==null?void 0:n.radius)||10,this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,value:a,preValue:o}=s;if(i===h1.resize||i===h1.all){const u=Math.min(this.width,this.height);this._radius=u/2,this.width=u,this.height=u,this._setTransForm()}})}get radius(){return this._radius}static drawWith(e,n){let{radius:s}=n;s=s!=null?s:10,e.beginPath(),n.strokeDashArray&&e.setLineDash(n.strokeDashArray),e.beginPath(),e.arc(s,s,s||0,0,Math.PI*2,!1),e.closePath(),this._renderPaintInOrder(e,n)}toJson(){const e={};return Yn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){t0.drawWith(e,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}}class Mo{}class Po{}class bt extends $e{constructor(e,n){super(e,n);d(this,"_props");d(this,"_native");this._props={autoWidth:!1,autoHeight:!1,...n},n.image?(this._native=n.image,this._init()):n.url&&(this._native=document.createElement("img"),this._native.src=n.url,this._native.onload=()=>{var s,i,a;(s=n.success)==null||s.call(n),this._init(),this.makeDirty(!0),(a=(i=this.getEngine())==null?void 0:i.activeScene)==null||a.onFileLoadedObservable.notifyObservers(e)},this._native.onerror=()=>{n.fail?n.fail():(this._native.src="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+",this._init(),this.makeDirty(!0))})}static drawWith(e,n){var s;if((s=n._native)!=null&&s.complete){const{width:i,height:a}=n;try{e.drawImage(n._native,0,0,i,a)}catch(o){console.error(o)}}}static create(e,n,s){return new bt(e,{url:n,success:s})}getPictureProps(){return this._props}_draw(e){bt.drawWith(e,this)}_init(){var e,n;this._props.autoWidth&&this.resize(((e=this._native)==null?void 0:e.width)||0),this._props.autoHeight&&this.resize(void 0,((n=this._native)==null?void 0:n.height)||0)}}const Vn=["pointsGroup"];class yt extends $e{constructor(e,n){super(e,n);d(this,"_pointsGroup");this._pointsGroup=(n==null?void 0:n.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChangeObservable.add(s=>{const{type:i,value:a,preValue:o}=s;(i===h1.resize||i===h1.all)&&this.resizePolygon(o)})}get pointsGroup(){return this._pointsGroup}static drawWith(e,n){let{pointsGroup:s}=n;s=s!=null?s:[[]],n.strokeDashArray&&e.setLineDash(n.strokeDashArray),e.beginPath();for(const i of s){e.moveTo(i[0].x,i[0].y);for(let a=1;a<i.length;a++){const o=i[a];e.lineTo(o.x,o.y)}}e.closePath(),this._renderPaintInOrder(e,n)}updatePointGroup(e){this._pointsGroup=e,this._setFixBoundingBox()}resizePolygon(e){const{left:n,top:s,width:i,height:a}=this._getSelfRect(),{width:o,height:u}=e;let l,c;o?l=this.width-o:l=0,u?c=this.height-u:c=0;const h=l/i,f=c/a;this.scaleX+=h,this.scaleY+=f,this.left=this.left-n*h,this.top=this.top-s*f,this._setTransForm()}toJson(){const e={};return Vn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}getState(){const{left:e,top:n,width:s,height:i}=this.getRect();return{left:e,top:n,width:s,height:i,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left:e,top:n,width:s,height:i}=this._getSelfRect();return{left:e*this.scaleX+this.left,top:n*this.scaleY+this.top,width:s*this.scaleX,height:i*this.scaleY}}_draw(e){yt.drawWith(e,this)}_setFixBoundingBox(){const{width:e,height:n,left:s,top:i}=this._getSelfRect();this.left=this.left+s,this.top=this.top+i,this.width=e,this.height=n;const a=this.pointsGroup;for(const o of a)for(const u of o)u.x-=s,u.y-=i;this._setTransForm()}_getSelfRect(){const e=this.pointsGroup;let n=e[0][0].x,s=e[0][0].x,i=e[0][0].y,a=e[0][0].y;for(const o of e)for(const u of o)n=Math.min(n,u.x),s=Math.max(s,u.x),i=Math.min(i,u.y),a=Math.max(a,u.y);return{left:n,top:i,width:s-n,height:a-i}}}const n0=["text","richText"];class No extends ne{constructor(e,n,s){super(n);d(this,"_documentData");d(this,"_documentSkeleton");d(this,"_documents");d(this,"_ff");d(this,"_fs",12);d(this,"_it",g.BooleanNumber.FALSE);d(this,"_bl",g.BooleanNumber.FALSE);d(this,"_ul",{s:g.BooleanNumber.FALSE});d(this,"_st",{s:g.BooleanNumber.FALSE});d(this,"_ol",{s:g.BooleanNumber.FALSE});d(this,"_bg");d(this,"_bd");d(this,"_cl");this._localeService=e,s!=null&&s.richText?this._documentData=s.richText:s&&(this._fs=s.fs,this._ff=s.ff,this._it=s.it,this._bl=s.bl,this._ul=s.ul,this._st=s.st,this._ol=s.ol,this._bg=s.bg,this._bd=s.bd,this._cl=s.cl,this._documentData=this._convertToDocumentData(s.text||""));const i=new g.DocumentDataModel(this._documentData),a=new be(i);this._documentSkeleton=Je.create(a,this._localeService),this._documents=new I2(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(s),this.onTransformChangeObservable.add(o=>{const{type:u}=o;if(u===h1.resize||u===h1.all){i.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();const l=this.getDocsSkeletonPageSize();this.height=(l==null?void 0:l.height)||this.height,this._setTransForm()}})}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var o;const e=(o=this._documentSkeleton)==null?void 0:o.getSkeletonData();if(!e)return;const{pages:n}=e,s=n[n.length-1],{width:i,height:a}=s;return{width:i,height:a}}setProps(e){if(!e)return;const n=Object.keys(e);if(n.length!==0)return n.forEach(s=>{if(e[s]===void 0)return!0;n0.indexOf(s)===-1&&(this[`_${s}`]=e[s])}),this.makeDirty(!0),this}render(e,n){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(n)){const{top:i,left:a,bottom:o,right:u}=n.viewBound;if(this.width+this.strokeWidth<a||u<0||this.height+this.strokeWidth<i||o<0)return this}const s=this.transform.getMatrix();return e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._draw(e),e.restore(),this.makeDirty(!1),this}toJson(){const e={};return n0.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}_draw(e){this._documents.render(e)}_convertToDocumentData(e){const n=e.length;return{id:"d",body:{dataStream:`${e}${g.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:n}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}}}}_initialProps(e){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(e==null?void 0:e.width,e==null?void 0:e.height),this._documentSkeleton.calculate();const n=this.getDocsSkeletonPageSize();this.transformByState({width:(n==null?void 0:n.width)||0,height:(n==null?void 0:n.height)||0,left:(e==null?void 0:e.left)||0,top:(e==null?void 0:e.top)||0,angle:e==null?void 0:e.angle}),this.setProps(e),this.makeDirty(!0)}}class Uo extends g.Disposable{constructor(){super(...arguments);d(this,"enableHorizontal",!0);d(this,"enableVertical",!0);d(this,"horizontalThumbWidth",0);d(this,"horizontalMinusMiniThumb",0);d(this,"horizontalBarWidth",0);d(this,"verticalThumbHeight",0);d(this,"verticalBarHeight",0);d(this,"verticalMinusMiniThumb",0);d(this,"horizonBarRect");d(this,"horizonThumbRect");d(this,"verticalBarRect");d(this,"verticalThumbRect");d(this,"placeholderBarRect")}get limitX(){var e;return(e=this.horizonThumbRect)!=null&&e.visible?this.horizontalBarWidth-this.horizontalThumbWidth:0}get limitY(){var e;return(e=this.verticalThumbRect)!=null&&e.visible?this.verticalBarHeight-this.verticalThumbHeight:0}get ratioScrollX(){if(this.enableHorizontal===!1||this.horizontalThumbWidth===void 0||this.horizontalBarWidth===void 0)return 1;const e=(this.horizontalThumbWidth-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalBarWidth;return Number.isNaN(e)?1:e}get ratioScrollY(){if(this.enableVertical===!1||this.verticalThumbHeight===void 0||this.verticalBarHeight===void 0)return 1;const e=(this.verticalThumbHeight-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalBarHeight;return Number.isNaN(e)?1:e}get miniThumbRatioX(){const e=this.horizontalBarWidth-this.horizontalThumbWidth;if(e===0)return 0;const n=this.horizontalBarWidth-(this.horizontalThumbWidth-this.horizontalMinusMiniThumb);return n===0?0:e/n}get miniThumbRatioY(){const e=this.verticalBarHeight-this.verticalThumbHeight;if(e===0)return 0;const n=this.verticalBarHeight-(this.verticalThumbHeight-this.verticalMinusMiniThumb);return n===0?0:e/n}pick(e){var n,s,i,a;return(n=this.horizonThumbRect)!=null&&n.isHit(e)?this.horizonThumbRect:(s=this.verticalThumbRect)!=null&&s.isHit(e)?this.verticalThumbRect:(i=this.horizonBarRect)!=null&&i.isHit(e)?this.horizonBarRect:(a=this.verticalBarRect)!=null&&a.isHit(e)?this.verticalBarRect:null}dispose(){var e,n,s,i,a;(e=this.horizonBarRect)==null||e.dispose(),(n=this.horizonThumbRect)==null||n.dispose(),(s=this.verticalBarRect)==null||s.dispose(),(i=this.verticalThumbRect)==null||i.dispose(),(a=this.placeholderBarRect)==null||a.dispose()}hasHorizonThumb(){var e;return((e=this.horizonThumbRect)==null?void 0:e.visible)||!1}hasVerticalThumb(){var e;return((e=this.verticalThumbRect)==null?void 0:e.visible)||!1}resize(e=0,n=0,s=0,i=0){}makeDirty(e){}render(e,n=0,s=0){}}const e2=17;class r0 extends Uo{constructor(e,n){super();d(this,"_view");d(this,"_mainScene");d(this,"_lastX",-1);d(this,"_lastY",-1);d(this,"_isHorizonMove",!1);d(this,"_isVerticalMove",!1);d(this,"_horizonPointerMoveObserver");d(this,"_horizonPointerUpObserver");d(this,"_verticalPointerMoveObserver");d(this,"_verticalPointerUpObserver");d(this,"barSize",14);d(this,"barBorder",1);d(this,"thumbMargin",2);d(this,"thumbLengthRatio",1);d(this,"thumbBackgroundColor","#cccccc");d(this,"thumbHoverBackgroundColor","#b2b2b2");d(this,"thumbActiveBackgroundColor","#999999");d(this,"barBackgroundColor","rgba(255,255,255,0.5)");d(this,"barBorderColor","rgba(255,255,255,0.7)");e||console.warn("Missing viewport"),this.setProps(n),this._view=e,this._initialScrollRect(),this._view.setScrollBar(this)}static attachTo(e,n){return new r0(e,n)}dispose(){var e,n,s,i;super.dispose(),(e=this._mainScene)==null||e.onPointerMoveObserver.remove(this._horizonPointerMoveObserver),(n=this._mainScene)==null||n.onPointerMoveObserver.remove(this._verticalPointerMoveObserver),(s=this._mainScene)==null||s.onPointerUpObserver.remove(this._horizonPointerUpObserver),(i=this._mainScene)==null||i.onPointerUpObserver.remove(this._verticalPointerUpObserver),this._mainScene=null,this._view.removeScrollBar()}render(e,n=0,s=0){const{scrollX:i,scrollY:a}=this._view;e.save();const u=new m1([1,0,0,1,n,s]).getMatrix();e.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this.enableHorizontal&&(this.horizonBarRect.render(e),this.horizonThumbRect.translate(i).render(e)),this.enableVertical&&(this.verticalBarRect.render(e),this.verticalThumbRect.translate(void 0,a).render(e)),this.enableHorizontal&&this.enableVertical&&this.placeholderBarRect.render(e),e.restore()}resize(e=0,n=0,s=0,i=0){var a;e===0&&e===0||(this._resizeHorizontal(e,n,s),this._resizeVertical(e,n,i),this.enableHorizontal&&this.enableVertical&&((a=this.placeholderBarRect)==null||a.transformByState({left:e-this.barSize,top:n-this.barSize,width:this.barSize-this.barBorder,height:this.barSize-this.barBorder})))}makeDirty(e){var n,s,i,a,o;(n=this.horizonBarRect)==null||n.makeDirty(e),(s=this.horizonThumbRect)==null||s.makeDirty(e),(i=this.verticalBarRect)==null||i.makeDirty(e),(a=this.verticalThumbRect)==null||a.makeDirty(e),(o=this.placeholderBarRect)==null||o.makeDirty(e),this.makeViewDirty(e)}makeViewDirty(e){(this._mainScene||this._view.scene).makeDirty(e)}pick(e){var n,s,i,a;return(n=this.horizonThumbRect)!=null&&n.isHit(e)?this.horizonThumbRect:(s=this.verticalThumbRect)!=null&&s.isHit(e)?this.verticalThumbRect:(i=this.horizonBarRect)!=null&&i.isHit(e)?this.horizonBarRect:(a=this.verticalBarRect)!=null&&a.isHit(e)?this.verticalBarRect:null}setProps(e){if(!e)return;const n=Object.keys(e);n.length!==0&&n.forEach(s=>{e[s]!==void 0&&(this[`${s}`]=e[s])})}_resizeHorizontal(e,n,s){var i,a,o,u,l;this.enableHorizontal&&(this.horizontalMinusMiniThumb=0,this.horizontalBarWidth=e-(this.enableVertical?this.barSize:0)-this.barBorder,this.horizontalThumbWidth=this.horizontalBarWidth*(this.horizontalBarWidth-this.barBorder)/s*this.thumbLengthRatio,this.horizontalThumbWidth<e2&&(this.horizontalMinusMiniThumb=e2-this.horizontalThumbWidth,this.horizontalThumbWidth=e2),(i=this.horizonBarRect)==null||i.transformByState({left:0,top:n-this.barSize,width:this.horizontalBarWidth,height:this.barSize-this.barBorder}),this.horizontalThumbWidth>=e-this.barSize?(a=this.horizonThumbRect)==null||a.setProps({visible:!1}):((o=this.horizonThumbRect)!=null&&o.visible||(u=this.horizonThumbRect)==null||u.setProps({visible:!0}),(l=this.horizonThumbRect)==null||l.transformByState({left:this._view.scrollX,top:n-this.barSize+this.thumbMargin,width:this.horizontalThumbWidth,height:this.barSize-this.thumbMargin*2})))}_resizeVertical(e,n,s){var i,a,o,u,l;this.enableVertical&&(this.verticalMinusMiniThumb=0,this.verticalBarHeight=n-(this.enableHorizontal?this.barSize:0)-this.barBorder,this.verticalThumbHeight=this.verticalBarHeight*this.verticalBarHeight/s*this.thumbLengthRatio,this.verticalThumbHeight<e2&&(this.verticalMinusMiniThumb=e2-this.verticalThumbHeight,this.verticalThumbHeight=e2),(i=this.verticalBarRect)==null||i.transformByState({left:e-this.barSize,top:0,width:this.barSize-this.barBorder,height:this.verticalBarHeight}),this.verticalThumbHeight>=n-this.barSize?(a=this.verticalThumbRect)==null||a.setProps({visible:!1}):((o=this.verticalThumbRect)!=null&&o.visible||(u=this.verticalThumbRect)==null||u.setProps({visible:!0}),(l=this.verticalThumbRect)==null||l.transformByState({left:e-this.barSize+this.thumbMargin,top:this._view.scrollY,width:this.barSize-this.thumbMargin*2,height:this.verticalThumbHeight})))}_initialScrollRect(){this.enableHorizontal&&(this.horizonBarRect=new L1("__horizonBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.horizonThumbRect=new L1("__horizonThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableVertical&&(this.verticalBarRect=new L1("__verticalBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.verticalThumbRect=new L1("__verticalThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableHorizontal&&this.enableVertical&&(this.placeholderBarRect=new L1("__placeholderBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor})),this._initialVerticalEvent(),this._initialHorizontalEvent()}_initialVerticalEvent(){var n,s,i,a;if(!this.enableVertical)return;const e=this._mainScene||this._view.scene;(n=this.verticalThumbRect)==null||n.on(X1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.verticalThumbRect)),(s=this.verticalThumbRect)==null||s.on(X1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.verticalThumbRect)),(i=this.verticalBarRect)==null||i.on(X1.PointerDown,(o,u)=>{const l=o;this._view.scrollTo({y:l.offsetY-this._view.top-this.verticalThumbHeight/2}),u.stopPropagation()}),(a=this.verticalThumbRect)==null||a.on(X1.PointerDown,(o,u)=>{const l=o,c=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=l.offsetX,this._lastY=l.offsetY,c==null||c.setProps({fill:this.thumbActiveBackgroundColor}),e.disableEvent(),this.makeViewDirty(!0),u.stopPropagation()}),this._verticalPointerMoveObserver=e.onPointerMoveObserver.add((o,u)=>{var c;const l=o;this._isVerticalMove&&(this._view.scrollByBar({y:l.offsetY-this._lastY}),this._lastY=l.offsetY,(c=e.getEngine())==null||c.setRemainCapture())}),this._verticalPointerUpObserver=e.onPointerUpObserver.add((o,u)=>{const l=this.verticalThumbRect;this._isVerticalMove=!1,e.enableEvent(),l==null||l.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}_hoverFunc(e,n){return(s,i)=>{if(this._isHorizonMove||this._isVerticalMove)return;n.setProps({fill:e}),this.makeViewDirty(!0)}}_initialHorizontalEvent(){var n,s,i,a;if(!this.enableHorizontal)return;const e=this._mainScene||this._view.scene;(n=this.horizonThumbRect)==null||n.on(X1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.horizonThumbRect)),(s=this.horizonThumbRect)==null||s.on(X1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.horizonThumbRect)),(i=this.horizonBarRect)==null||i.on(X1.PointerDown,(o,u)=>{const l=o;this._view.scrollTo({x:l.offsetX-this._view.left-this.horizontalThumbWidth/2}),u.stopPropagation()}),(a=this.horizonThumbRect)==null||a.on(X1.PointerDown,(o,u)=>{var c;const l=o;this._isHorizonMove=!0,this._lastX=l.offsetX,this._lastY=l.offsetY,(c=this.horizonThumbRect)==null||c.setProps({fill:this.thumbActiveBackgroundColor}),this.makeViewDirty(!0),e.disableEvent(),u.stopPropagation()}),this._horizonPointerMoveObserver=e.onPointerMoveObserver.add((o,u)=>{var c;const l=o;this._isHorizonMove&&(this._view.scrollByBar({x:l.offsetX-this._lastX}),this._lastX=l.offsetX,(c=e.getEngine())==null||c.setRemainCapture())}),this._horizonPointerUpObserver=e.onPointerUpObserver.add((o,u)=>{const l=this.horizonThumbRect;this._isHorizonMove=!1,e.enableEvent(),l==null||l.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}}class Ho{}const jn=["checked"];class s0 extends $e{constructor(e,n){super(e,n);d(this,"_checked",!1);g.Tools.isDefine(n.checked)&&(this._checked=n.checked)}get checked(){return this._checked}static drawWith(e,n){const{width:s=16,height:i=16,fill:a,checked:o,top:u=0,left:l=0}=n,c=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"),h=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");e.save(),e.translate(l,u),e.scale(s/16,i/16),a&&(e.fillStyle=a),o?e.fill(h,"evenodd"):e.fill(c,"evenodd"),e.restore()}_draw(e){s0.drawWith(e,this)}toJson(){const e={};return jn.forEach(n=>{this[n]&&(e[n]=this[n])}),{...super.toJson(),...e}}}function Go(r,t){if(t.startRow>=r.endRow||t.endRow<=r.startRow||t.startColumn>=r.endColumn||t.endColumn<=r.startColumn)return[r];const e=[];t.startRow>r.startRow&&e.push({startRow:r.startRow,startColumn:r.startColumn,endRow:t.startRow,endColumn:r.endColumn}),t.endRow<r.endRow&&e.push({startRow:t.endRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn});const n=Math.max(r.startRow,t.startRow),s=Math.min(r.endRow,t.endRow);return t.startColumn>r.startColumn&&e.push({startRow:n,startColumn:r.startColumn,endRow:s,endColumn:t.startColumn}),t.endColumn<r.endColumn&&e.push({startRow:n,startColumn:t.endColumn,endRow:s,endColumn:r.endColumn}),e}const zo=3;class Xo{constructor(t,e,n){d(this,"scrollX",0);d(this,"scrollY",0);d(this,"actualScrollX",0);d(this,"actualScrollY",0);d(this,"onMouseWheelObserver",new g.Observable);d(this,"onScrollAfterObserver",new g.Observable);d(this,"onScrollBeforeObserver",new g.Observable);d(this,"onScrollStopObserver",new g.Observable);d(this,"onScrollByBarObserver",new g.Observable);d(this,"_viewPortKey","");d(this,"_topOrigin",0);d(this,"_leftOrigin",0);d(this,"_bottomOrigin",0);d(this,"_rightOrigin",0);d(this,"_widthOrigin");d(this,"_heightOrigin");d(this,"_top",0);d(this,"_left",0);d(this,"_bottom",0);d(this,"_right",0);d(this,"_width");d(this,"_height");d(this,"_scene");d(this,"_scrollBar");d(this,"_isWheelPreventDefaultX",!1);d(this,"_isWheelPreventDefaultY",!1);d(this,"_scrollStopNum",0);d(this,"_preScrollX",0);d(this,"_preScrollY",0);d(this,"_renderClipState",!0);d(this,"_active",!0);d(this,"_paddingStartX",0);d(this,"_paddingEndX",0);d(this,"_paddingStartY",0);d(this,"_paddingEndY",0);d(this,"_isRelativeX",!1);d(this,"_isRelativeY",!1);d(this,"_preViewportBound");this._viewPortKey=t,this._scene=e,(n==null?void 0:n.active)!=null&&(this._active=n.active),this._scene.addViewport(this),this._setWithAndHeight(n),this._isWheelPreventDefaultX=(n==null?void 0:n.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(n==null?void 0:n.isWheelPreventDefaultY)||!1,this._resizeCacheCanvasAndScrollBar()}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(t){this._width=t}set height(t){this._height=t}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set top(t){var e,n;this._topOrigin=t,this._top=te(t,(n=(e=this._scene)==null?void 0:e.getParent())==null?void 0:n.height)}set left(t){var e;this._leftOrigin=t,this._left=te(t,(e=this.scene.getParent())==null?void 0:e.width)}set bottom(t){var e;this._bottomOrigin=t,this._bottom=te(t,(e=this.scene.getParent())==null?void 0:e.height)}set right(t){var e;this._rightOrigin=t,this._right=te(t,(e=this.scene.getParent())==null?void 0:e.width)}enable(){this._active=!0}disable(){this._active=!1}resetSizeAndScrollBar(){this._resizeCacheCanvasAndScrollBar()}setScrollBar(t){this._scrollBar=t,this._resizeCacheCanvasAndScrollBar()}removeScrollBar(){this._scrollBar=null}resize(t){Object.keys(t).length!==0&&(this._setWithAndHeight(t),this._resizeCacheCanvasAndScrollBar())}setPadding(t){const{startX:e=0,startY:n=0,endX:s=0,endY:i=0}=t;this._paddingStartX=e,this._paddingEndX=s,this._paddingStartY=n,this._paddingEndY=i,this._resizeCacheCanvasAndScrollBar()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}scrollTo(t,e=!0){return this._scroll(0,t,e)}scrollBy(t,e=!0){return this._scroll(1,t,e)}scrollByBar(t,e=!0){var i,a;this._scroll(1,t,e);const{x:n,y:s}=t;this.onScrollByBarObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:n,y:s,actualScrollX:this.actualScrollX,actualScrollY:this.actualScrollY,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(a=this._scrollBar)==null?void 0:a.limitY,isTrigger:e})}scrollByOffset(t=0,e=0,n=!0){if(!this._scrollBar||this.isActive===!1)return;const s=t+this._paddingStartX,i=e+this._paddingStartY,a=this.getBarScroll(s,i);return this.scrollBy(a,n)}getBarScroll(t,e){let n=t-this._paddingStartX,s=e-this._paddingStartY;if(this._scrollBar){n*=this._scrollBar.ratioScrollX,s*=this._scrollBar.ratioScrollY;const{scaleX:i,scaleY:a}=this.scene;n*=i,s*=a}else this.scrollX!==void 0&&(n=this.scrollX),this.scrollY!==void 0&&(s=this.scrollY);return{x:n,y:s}}getActualScroll(t,e){let n=t,s=e;if(this._scrollBar){const{scaleX:o,scaleY:u}=this.scene;this._scrollBar.ratioScrollX!==0?(n/=this._scrollBar.ratioScrollX,n/=o):this.actualScrollX!==void 0?n=this.actualScrollX:n=0,this._scrollBar.ratioScrollY!==0?(s/=this._scrollBar.ratioScrollY,s/=u):this.actualScrollY!==void 0?s=this.actualScrollY:s=0}else this.actualScrollX!==void 0?n=this.actualScrollX:n=0,this.actualScrollY!==void 0?s=this.actualScrollY:s=0;const{scaleX:i,scaleY:a}=this._scene.getPrecisionScale();return{x:Z(n+this._paddingStartX,i),y:Z(s+this._paddingStartY,a)}}getTransformedScroll(){const t=this.scrollX,e=this.scrollY;return this.getActualScroll(t,e)}getScrollBar(){return this._scrollBar}updateScroll(t){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;const{scrollX:e,scrollY:n,actualScrollX:s,actualScrollY:i}=t;return e!==void 0&&(this.scrollX=e),n!==void 0&&(this.scrollY=n),s!==void 0&&(this.actualScrollX=s),i!==void 0&&(this.actualScrollY=i),this}getScrollBarTransForm(){const t=m1.create();return t.multiply(m1.create([1,0,0,1,this._left,this._top])),t}render(t,e=[],n=!1){var c;if(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)return;const s=t||((c=this._scene.getEngine())==null?void 0:c.getCanvas().getContext()),i=this._scene.transform.clone();i.multiply(m1.create([1,0,0,1,-this.actualScrollX||0,-this.actualScrollY||0]));const a=s,o=i.getMatrix(),u=this.getScrollBarTransForm().getMatrix();if(a.save(),this._renderClipState){a.beginPath();const{scaleX:h,scaleY:f}=this._getBoundScale(o[0],o[3]);a.rect(this.left,this.top,(this.width||0)*h,(this.height||0)*f),a.clip()}a.transform(o[0],o[1],o[2],o[3],o[4],o[5]);const l=this._calViewportRelativeBounding();e.forEach(h=>{h.render(a,l)}),a.restore(),this._scrollBar&&n&&(a.save(),a.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawScrollbar(a),a.restore()),this._scrollRendered(),this._preViewportBound=l}getBounding(){return this._calViewportRelativeBounding()}getRelativeVector(t){const e=this.scene.transform.clone().invert(),n=this.getTransformedScroll();return e.applyPoint(t).add(P.FromArray([n.x,n.y]))}getAbsoluteVector(t){const e=this.scene.transform.clone(),n=this.getTransformedScroll();return e.applyPoint(t.subtract(P.FromArray([n.x,n.y])))}onMouseWheel(t,e){if(!this._scrollBar||this.isActive===!1)return;let n;if(t.inputIndex===W.MouseWheelX){const s=Math.abs(t.deltaX),i=this._scene.width,o=(this.width||1)/i*s;t.deltaX>0?n=this.scrollBy({x:o}):n=this.scrollBy({x:-o}),this._scene.getParent().classType===K.SCENE_VIEWER?n!=null&&n.isLimitedX||e.stopPropagation():this._isWheelPreventDefaultX?t.preventDefault():n!=null&&n.isLimitedX||t.preventDefault()}if(t.inputIndex===W.MouseWheelY){const s=Math.abs(t.deltaY),i=this._scene.height;let o=(this.height||1)/i*s;t.shiftKey?(o*=zo,t.deltaY>0?n=this.scrollBy({x:o}):n=this.scrollBy({x:-o}),this._scene.getParent().classType===K.SCENE_VIEWER?n!=null&&n.isLimitedX||e.stopPropagation():this._isWheelPreventDefaultX?t.preventDefault():n!=null&&n.isLimitedX||t.preventDefault()):(t.deltaY>0?n=this.scrollBy({y:o}):n=this.scrollBy({y:-o}),this._scene.getParent().classType===K.SCENE_VIEWER?n!=null&&n.isLimitedY||e.stopPropagation():this._isWheelPreventDefaultY?t.preventDefault():n!=null&&n.isLimitedY||t.preventDefault())}t.inputIndex,W.MouseWheelZ,this._scene.makeDirty(!0)}isHit(t){if(this.isActive===!1)return;const{width:e,height:n}=this._getViewPortSize();return t.x>=this.left&&t.x<=this.left+(e||0)&&t.y>=this.top&&t.y<=this.top+(n||0)}pickScrollBar(t){if(!this._scrollBar)return;const n=this.getScrollBarTransForm().invert().applyPoint(t);return this._scrollBar.pick(n)}openClip(){this._renderClipState=!0}closeClip(){this._renderClipState=!1}dispose(){var t;this.onMouseWheelObserver.clear(),this.onScrollAfterObserver.clear(),this.onScrollBeforeObserver.clear(),this.onScrollStopObserver.clear(),(t=this._scrollBar)==null||t.dispose(),this._scene.removeViewport(this._viewPortKey)}limitedScroll(){var i,a;if(!this._scrollBar)return;const t=(i=this._scrollBar)==null?void 0:i.limitX,e=(a=this._scrollBar)==null?void 0:a.limitY;let n=!0,s=!0;return this.scrollX<0?this.scrollX=0:this.scrollX>t?this.scrollX=t:n=!1,this.scrollY<0?this.scrollY=0:this.scrollY>e?this.scrollY=e:s=!1,{isLimitedX:n,isLimitedY:s}}_resizeCacheCanvasAndScrollBar(){const t=this.actualScrollX,e=this.actualScrollY,{width:n,height:s}=this._getViewPortSize(),i=(this._scene.width-this._paddingEndX)*this._scene.scaleX,a=(this._scene.height-this._paddingEndY)*this._scene.scaleY;if(this._scrollBar){this._scrollBar.resize(n,s,i,a);const{x:o,y:u}=this.getBarScroll(t,e);this.scrollTo({x:o,y:u})}}_getViewPortSize(){const t=this._scene.getParent(),{width:e,height:n}=t,{scaleX:s=1,scaleY:i=1}=this._scene;let a,o,u=this.left*s,l=this.top*i;return this._leftOrigin!=null&&(u=this._leftOrigin*s),this._topOrigin!=null&&(l=this._topOrigin*i),this._widthOrigin!=null?a=this._widthOrigin*s:(a=e-(u+this._right),this.width=a),this._heightOrigin!=null?o=this._heightOrigin*i:(o=n-(l+this._bottom),this.height=o),this._left=u,this._top=l,{width:a,height:o}}_scrollRendered(){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY}_triggerScrollStop(t,e,n,s=!0){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var i,a;this.onScrollStopObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:e,y:n,actualScrollX:t.x,actualScrollY:t.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(a=this._scrollBar)==null?void 0:a.limitY,isTrigger:s})},2)}_scroll(t,e,n=!0){var u,l,c,h;const{x:s,y:i}=e;if(this._scrollBar==null)return;s!==void 0&&(this._scrollBar.hasHorizonThumb()?t===1?this.scrollX+=s:this.scrollX=s:this.scrollX=0),i!==void 0&&(this._scrollBar.hasVerticalThumb()?t===1?this.scrollY+=i:this.scrollY=i:this.scrollY=0);const a=this.limitedScroll();this.onScrollBeforeObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:s,y:i,limitX:(u=this._scrollBar)==null?void 0:u.limitX,limitY:(l=this._scrollBar)==null?void 0:l.limitY,isTrigger:n}),this._scrollBar&&this._scrollBar.makeDirty(!0);const o=this.getTransformedScroll();return this.actualScrollX=o.x,this.actualScrollY=o.y,this.onScrollAfterObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:s,y:i,actualScrollX:o.x,actualScrollY:o.y,limitX:(c=this._scrollBar)==null?void 0:c.limitX,limitY:(h=this._scrollBar)==null?void 0:h.limitY,isTrigger:n}),this._triggerScrollStop(o,s,i,n),a}_calViewportRelativeBounding(){var E;if(this.isActive===!1)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};const e=this._scene.transform.clone().getMatrix(),n=this._isRelativeX&&e[0]<1?e[0]:1,s=this._isRelativeY&&e[3]<1?e[3]:1,i=this._isRelativeX?1:e[0]<1?e[0]:1,a=this._isRelativeY?1:e[3]<1?e[3]:1;let o=this._width,u=this._height;const l=this._getViewPortSize();e[0]>1&&(o=l.width),e[3]>1&&(u=l.height);const c=this.left*n,h=((o||0)+this.left)*i,f=this.top*s,_=((u||0)+this.top)*a,p=this.getRelativeVector(P.FromArray([c,f])),m=this.getRelativeVector(P.FromArray([h,_])),v={top:p.y,left:p.x,right:m.x,bottom:m.y},F=(E=this._preViewportBound)==null?void 0:E.viewBound;return{viewBound:v,diffBounds:this._diffViewBound(v,F),diffX:((F==null?void 0:F.left)||0)-v.left,diffY:((F==null?void 0:F.top)||0)-v.top,viewPortPosition:{top:f,left:c,bottom:_,right:h},viewPortKey:this.viewPortKey}}_diffViewBound(t,e){if(e==null)return[t];const n={startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right},s={startRow:e.top,endRow:e.bottom,startColumn:e.left,endColumn:e.right};return Go(n,s).map(a=>{const{startRow:o,endRow:u,startColumn:l,endColumn:c}=a;return{left:l,top:o,right:c,bottom:u}})}_drawScrollbar(t){if(!this._scrollBar)return;const e=this._scene.getParent();e.classType===K.SCENE_VIEWER?this._scrollBar.render(t):e.classType===K.ENGINE&&this._scrollBar.render(t)}_setWithAndHeight(t){this.top=(t==null?void 0:t.top)||0,this.left=(t==null?void 0:t.left)||0,this.bottom=(t==null?void 0:t.bottom)||0,this.right=(t==null?void 0:t.right)||0,g.Tools.isDefine(t==null?void 0:t.width)?(this.width=t==null?void 0:t.width,this._widthOrigin=this.width,this._isRelativeX=!1):(this.width=null,this._widthOrigin=null,this._isRelativeX=!0),g.Tools.isDefine(t==null?void 0:t.height)?(this.height=t==null?void 0:t.height,this._heightOrigin=this.height,this._isRelativeY=!1):(this.height=null,this._heightOrigin=null,this._isRelativeY=!0)}_getBoundScale(t,e){return t=this._isRelativeX&&t<1?1:t,e=this._isRelativeY&&e<1?1:e,{scaleX:t,scaleY:e}}}var Ft=(r=>(r[r.page=0]="page",r[r.section=1]="section",r[r.column=2]="column",r[r.line=3]="line",r[r.divide=4]="divide",r[r.glyph=5]="glyph",r))(Ft||{});const t2={page:0,section:1,column:2,line:3,divide:4,glyph:5};function Kn(r,t){return r.page>t.page?!1:r.page<t.page?!0:r.section>t.section?!1:r.section<t.section?!0:r.column>t.column?!1:r.column<t.column?!0:r.line>t.line?!1:r.line<t.line?!0:r.divide>t.divide?!1:r.divide<t.divide?!0:r.glyph>t.glyph?!1:(r.glyph<t.glyph,!0)}function i0(r,t){return Kn(r,t)?{start:r,end:t}:{start:t,end:r}}function qn(r){const t=r.length;if(t===0)return;const e=r[0],n=r[t-1],s=r.length===1&&e.collapsed;return{startOffset:e.startOffset,endOffset:n.endOffset,collapsed:s}}function Wo(r,t,e,n){let s=n,i=n;for(let a=0;a<r.length;a++){const u=r[a].count;a<t&&(s+=u),a<e&&(i+=u)}return{startOffset:s,endOffset:i}}class Zn{constructor(t,e){d(this,"_liquid",new m2);d(this,"_currentStartState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});d(this,"_currentEndState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});this._documentOffsetConfig=t,this._docSkeleton=e}getRangePointData(t,e){const n=[],s=[],i=[];if(t==null||e==null)return{borderBoxPointGroup:n,contentBoxPointGroup:s,cursorList:i};const{start:a,end:o}=i0(t,e);return this._selectionIterator(a,o,(u,l,c,h,f,_)=>{const{lineHeight:p,marginTop:m,contentHeight:v}=_,{glyphGroup:F,st:E}=f,{x:S,y:B}=this._liquid;let x,w;const O=F[u],T=F[l],R=(O==null?void 0:O.left)||0,k=(O==null?void 0:O.width)||0,$=(T==null?void 0:T.left)||0,M=(T==null?void 0:T.width)||0,U=(O==null?void 0:O.glyphType)===A1.LIST,{startOffset:I,endOffset:L}=Wo(F,u,l,E),H=a.glyph===u&&c?a.isBack:!0,X=o.glyph===l&&h?o.isBack:!1,j=a===o;if(u===0&&l===F.length-1)x={startX:S+R+(U?k:0),startY:B,endX:S+$+M,endY:B+p},w={startX:S+R+(U?k:0),startY:B+m,endX:S+$+M,endY:B+m+v};else{const G=H&&!U;x={startX:S+R+(G?0:k),startY:B,endX:S+$+(X?0:M),endY:B+p},w={startX:S+R+(G?0:k),startY:B+m,endX:S+$+(X?0:M),endY:B+m+v}}n.push(this._pushToPoints(x)),s.push(this._pushToPoints(w)),i.push({startOffset:H?I:I+O.count,endOffset:X?L:L+T.count,collapsed:j})}),{borderBoxPointGroup:n,contentBoxPointGroup:s,cursorList:i}}_resetCurrentNodePositionState(){this._currentStartState={page:0,section:0,column:0,line:0,divide:0,glyph:0},this._currentEndState={page:0,section:0,column:0,line:0,divide:0,glyph:0}}_setNodePositionState(t=0,e,n,s){s===e?this._currentStartState[t]=1:this._currentStartState[t]=0,s===n?this._currentEndState[t]=2:this._currentEndState[t]=0}_checkPreviousNodePositionState(t,e=!0){let n=t,s;for(;n>=0;){const i=Ft[n];let a;if(e?a=this._currentStartState[i]:a=this._currentEndState[i],a===void 0)return;if(s===void 0&&(s=a),a!==s)return 0;n--}return s}_getSelectionRuler(t,e,n,s,i){let a=0,o=s;const u=Ft[t],l=Ft[t+1];if(l===null||u===null)return{start_next:a,end_next:o};const c=e[u],h=n[u];this._setNodePositionState(u,c,h,i);const f=this._checkPreviousNodePositionState(t),_=this._checkPreviousNodePositionState(t,!1);return f===1&&(a=e[l]),_===2&&(o=n[l]),{start_next:a,end_next:o}}_pushToPoints(t){const{startX:e,startY:n,endX:s,endY:i}=t,a=[];return a.push({x:e,y:n}),a.push({x:s,y:n}),a.push({x:s,y:i}),a.push({x:e,y:i}),a.push({x:e,y:n}),a}_selectionIterator(t,e,n){const s=this._docSkeleton;if(!s)return[];this._liquid.reset();const i=s.getSkeletonData();if(i==null)return[];const a=i.pages,{page:o}=t,{page:u}=e;if(this._resetCurrentNodePositionState(),this._documentOffsetConfig==null)return[];const{pageLayoutType:l,pageMarginLeft:c,pageMarginTop:h}=this._documentOffsetConfig;for(let f=0;f<=o-1;f++){const _=a[f];this._liquid.translatePage(_,l,c,h)}for(let f=o;f<=u;f++){const _=a[f],p=_.sections,{start_next:m,end_next:v}=this._getSelectionRuler(t2.page,t,e,p.length-1,f);this._liquid.translateSave(),this._liquid.translatePagePadding(_);for(let F=m;F<=v;F++){const E=p[F],S=E.columns,{start_next:B,end_next:x}=this._getSelectionRuler(t2.section,t,e,S.length-1,F);this._liquid.translateSection(E);for(let w=B;w<=x;w++){const O=S[w],T=O.lines,{start_next:R,end_next:k}=this._getSelectionRuler(t2.column,t,e,T.length-1,w);this._liquid.translateColumn(O);for(let $=R;$<=k;$++){const M=T[$],{divides:U}=M,{start_next:I,end_next:L}=this._getSelectionRuler(t2.line,t,e,U.length-1,$);this._liquid.translateSave(),this._liquid.translateLine(M);for(let H=I;H<=L;H++){const X=U[H];this._liquid.translateSave(),this._liquid.translateDivide(X);const j=X.glyphGroup,{start_next:G,end_next:Q}=this._getSelectionRuler(t2.divide,t,e,j.length-1,H);let t1=!1,n1=!1;f===o&&F===m&&w===B&&$===R&&H===I&&(t1=!0),f===u&&F===v&&w===x&&$===k&&H===L&&(n1=!0),n&&n(G,Q,t1,n1,X,M,O,E,_),this._liquid.translateRestore()}this._liquid.translateRestore()}}}this._liquid.translateRestore(),this._liquid.translatePage(_,l,c,h)}}}const Yo="__TestSelectionRange__",Vo="__TestSelectionAnchor__",Jn=6,a0=500,jo=500,o0=1;function Ko(r,t,e,n){const{startOffset:s,endOffset:i,style:a=g2}=t,o=e.findNodePositionByCharIndex(s),u=s!==i?e.findNodePositionByCharIndex(i):null,l=new Ct(r,n,e,o,u,a);return l.refresh(),l}function Qn(r){const t=r[0],e=t[0],n=t[2],{x:s,y:i}=e,{x:a,y:o}=n;return{left:s,top:i,width:a-s,height:o-i}}class Ct{constructor(t,e,n,s,i,a=g2){d(this,"_current",!1);d(this,"_rangeShape");d(this,"_anchorShape");d(this,"_cursorList",[]);d(this,"_anchorBlinkTimer",null);this._scene=t,this._document=e,this._docSkeleton=n,this.anchorNodePosition=s,this.focusNodePosition=i,this.style=a,this._anchorBlink()}_anchorBlink(){setTimeout(()=>{this._anchorShape&&this._anchorShape.visible&&this.deactivateStatic()},a0),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},a0))},jo+a0)}get startOffset(){var s;const{startOffset:t}=(s=qn(this._cursorList))!=null?s:{},e=this._docSkeleton.getViewModel().getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(n,t)}get endOffset(){var s;const{endOffset:t}=(s=qn(this._cursorList))!=null?s:{},e=this._docSkeleton.getViewModel().getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(t,n)}get collapsed(){const{startOffset:t,endOffset:e}=this;return t!=null&&t===e}get startNodePosition(){if(this.anchorNodePosition==null)return null;if(this.focusNodePosition==null)return this.anchorNodePosition;const{start:t}=i0(this.anchorNodePosition,this.focusNodePosition);return t}get endNodePosition(){if(this.anchorNodePosition==null)return this.focusNodePosition;if(this.focusNodePosition==null)return null;const{end:t}=i0(this.anchorNodePosition,this.focusNodePosition);return t}get direction(){const{collapsed:t,anchorNodePosition:e,focusNodePosition:n}=this;return t||e==null||n==null?D2.NONE:Kn(e,n)?D2.FORWARD:D2.BACKWARD}getAnchor(){return this._anchorShape}activeStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.strokeActive)||F1(g.COLORS.black,1)})}deactivateStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.stroke)||F1(g.COLORS.black,0)})}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var t,e;(t=this._rangeShape)==null||t.dispose(),this._rangeShape=null,(e=this._anchorShape)==null||e.dispose(),this._anchorShape=null,this._anchorBlinkTimer&&(clearInterval(this._anchorBlinkTimer),this._anchorBlinkTimer=null)}isIntersection(t){const{startOffset:e,endOffset:n}=this,{startOffset:s,endOffset:i}=t;return e==null||n==null||s==null||i==null?!1:e<=i&&n>=s}refresh(){var h,f;const{_document:t,_docSkeleton:e}=this,n=this.anchorNodePosition,s=this.focusNodePosition;if((h=this._anchorShape)==null||h.hide(),(f=this._rangeShape)==null||f.hide(),this._isEmpty())return;const i=t.getOffsetConfig(),{docsLeft:a,docsTop:o}=i,u=new Zn(i,e);if(this._isCollapsed()){const{contentBoxPointGroup:_,cursorList:p}=u.getRangePointData(n,n);this._setCursorList(p),_.length>0&&this._createOrUpdateAnchor(_,a,o);return}const{borderBoxPointGroup:l,cursorList:c}=u.getRangePointData(n,s);this._setCursorList(c),l.length>0&&this._createOrUpdateRange(l,a,o)}_isEmpty(){return this.anchorNodePosition==null&&this.focusNodePosition==null}_isCollapsed(){const t=this.anchorNodePosition,e=this.focusNodePosition;if(t!=null&&e==null)return!0;if(t==null||e==null)return!1;const n=Object.keys(t2);for(const s of n){const i=t[s],a=e[s];if(i!==a)return!1}return t.isBack===e.isBack}_createOrUpdateRange(t,e,n){var a;if(this._rangeShape){this._rangeShape.translate(e,n),this._rangeShape.updatePointGroup(t),this._rangeShape.show();return}const s=.2,i=new yt(Yo+g.Tools.generateRandomId(Jn),{pointsGroup:t,fill:((a=this.style)==null?void 0:a.fill)||F1(g.COLORS.black,s),left:e,top:n,evented:!1,debounceParentDirty:!1});this._rangeShape=i,this._scene.addObject(i,o0)}_createOrUpdateAnchor(t,e,n){var l,c;const s=Qn(t),{left:i,top:a,height:o}=s;if(this._anchorShape){this._anchorShape.transformByState({left:i+e,top:a+n,height:o}),this._anchorShape.show();return}const u=new L1(Vo+g.Tools.generateRandomId(Jn),{left:i+e,top:a+n,height:o,strokeWidth:((l=this.style)==null?void 0:l.strokeWidth)||1,stroke:((c=this.style)==null?void 0:c.strokeActive)||F1(g.COLORS.black,1),evented:!1});this._anchorShape=u,this._scene.addObject(u,o0)}_setCursorList(t){t.length!==0&&(this._cursorList=t)}}function qo(r){const t=r.getBoundingClientRect(),e=document.body,n=document.documentElement,s=window.pageYOffset||n.scrollTop||e.scrollTop,i=window.pageXOffset||n.scrollLeft||e.scrollLeft,a=n.clientTop||e.clientTop,o=n.clientLeft||e.clientLeft,u=t.top+s-a,l=t.left+i-o;return{top:u,left:l}}var Zo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,Qo=(r,t,e,n)=>{for(var s=n>1?void 0:n?Jo(t,e):t,i=r.length-1,a;i>=0;i--)(a=r[i])&&(s=(n?a(t,e,s):a(s))||s);return n&&s&&Zo(t,e,s),s},eu=(r,t)=>(e,n)=>t(e,n,r);function e3(r){const t=r==null?void 0:r.getCanvasElement();if(!t)return{left:0,top:0};const{top:e,left:n}=qo(t);return{left:n,top:e}}function t3(r){var u;const t=(u=r.parent)==null?void 0:u.parent,e=t==null?void 0:t.parent;if(t==null||e==null)return;const{paragraphIndex:n}=t,s=e.lines.filter(l=>l.paragraphIndex===n);let i=-1,a="",o=!1;for(const l of s)for(const c of l.divides)for(const h of c.glyphGroup)o||(i+=h.count),h===r&&(o=!0),a+=h.count>0?h.content:"";return{st:s[0].st,ed:n,content:a,nodeIndex:i}}y.TextSelectionRenderManager=class extends g.RxDisposable{constructor(e){super();d(this,"_onInputBefore$",new u1.BehaviorSubject(null));d(this,"onInputBefore$",this._onInputBefore$.asObservable());d(this,"_onKeydown$",new u1.BehaviorSubject(null));d(this,"onKeydown$",this._onKeydown$.asObservable());d(this,"_onInput$",new u1.BehaviorSubject(null));d(this,"onInput$",this._onInput$.asObservable());d(this,"_onCompositionstart$",new u1.BehaviorSubject(null));d(this,"onCompositionstart$",this._onCompositionstart$.asObservable());d(this,"_onCompositionupdate$",new u1.BehaviorSubject(null));d(this,"onCompositionupdate$",this._onCompositionupdate$.asObservable());d(this,"_onCompositionend$",new u1.BehaviorSubject(null));d(this,"onCompositionend$",this._onCompositionend$.asObservable());d(this,"_onSelectionStart$",new u1.BehaviorSubject(null));d(this,"onSelectionStart$",this._onSelectionStart$.asObservable());d(this,"_onPaste$",new u1.Subject);d(this,"onPaste$",this._onPaste$.asObservable());d(this,"_textSelectionInner$",new u1.BehaviorSubject(null));d(this,"textSelectionInner$",this._textSelectionInner$.asObservable());d(this,"_onFocus$",new u1.Subject);d(this,"onFocus$",this._onFocus$.asObservable());d(this,"_onBlur$",new u1.Subject);d(this,"onBlur$",this._onBlur$.asObservable());d(this,"_container");d(this,"_inputParent");d(this,"_input");d(this,"_moveObservers",[]);d(this,"_upObservers",[]);d(this,"_scrollTimers",[]);d(this,"_viewportScrollX",0);d(this,"_viewportScrollY",0);d(this,"_rangeList",[]);d(this,"_currentSegmentId","");d(this,"_selectionStyle",g2);d(this,"_isSelectionEnabled",!0);d(this,"_viewPortObserverMap",new Map);d(this,"_isIMEInputApply",!1);d(this,"_activeViewport");d(this,"_docSkeleton");d(this,"_scene");d(this,"_document");this._logService=e,this._initDOM()}__getEditorContainer(){return this._container}getViewPort(){return this._activeViewport}setSegment(e){this._currentSegmentId=e}setStyle(e=g2){this._selectionStyle=e}resetStyle(){this.setStyle()}enableSelection(){this._isSelectionEnabled=!0}disableSelection(){this._isSelectionEnabled=!1}addTextRanges(e,n=!0){const{_scene:s,_docSkeleton:i}=this;for(const a of e){const o=Ko(s,a,i,this._document);this._add(o)}this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),segmentId:this._currentSegmentId,style:this._selectionStyle,isEditing:n}),this._updateInputPosition()}sync(){this._updateInputPosition()}activate(e,n){this._container.style.left=`${e}px`,this._container.style.top=`${n}px`,this._container.style.zIndex="1000",this.focus()}hasFocus(){return document.activeElement===this._input}focus(){this._input.focus()}blur(){this._input.blur()}deactivate(){this._container.style.left="0px",this._container.style.top="0px"}changeRuntime(e,n,s){e!==this._docSkeleton&&this.removeAllTextRanges(),this._docSkeleton=e,this._scene=n,this._activeViewport=n.getViewports()[0],this._document=s,this._attachScrollEvent(this._activeViewport)}handleDblClick(e){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:n,offsetY:s}=e,i=this._findNodeByCoord(n,s);if(i==null||i.node==null)return;const a=t3(i.node);if(a==null)return;const{content:o,st:u,nodeIndex:l}=a;if(l===-1||Intl.Segmenter==null)return;const h=new Intl.Segmenter(void 0,{granularity:"word"}).segment(o);let f=Number.NEGATIVE_INFINITY,_=Number.NEGATIVE_INFINITY;for(const{segment:p,index:m,isWordLike:v}of h)if(m<=l&&l<m+p.length&&v){f=m+u,_=m+u+p.length;break}if(Number.isFinite(f)&&Number.isFinite(_)){this.removeAllTextRanges();const p=[{startOffset:f,endOffset:_}];this.addTextRanges(p,!1)}}handleTripleClick(e){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:n,offsetY:s}=e,i=this._findNodeByCoord(n,s);if(i==null||i.node==null)return;const a=t3(i.node);if(a==null)return;this.removeAllTextRanges();const{st:o,ed:u}=a,l=[{startOffset:o,endOffset:u,collapsed:o===u}];this.addTextRanges(l,!1)}setCursorManually(e,n){const s=this._findNodeByCoord(e,n),i=this._getNodePosition(s);if(i==null){this._removeAllTextRanges();return}(s==null?void 0:s.node.streamType)===g.DataStreamTreeTokenType.PARAGRAPH&&(i.isBack=!0),this._updateTextRangeAnchorPosition(i),this._activeSelectionRefresh()}eventTrigger(e){var _;if(!this._scene||!this._isSelectionEnabled)return;const n=this._scene,{offsetX:s,offsetY:i}=e,a=this._findNodeByCoord(s,i),o=this._getNodePosition(a);if(o==null){this._removeAllTextRanges();return}if((a==null?void 0:a.node.streamType)===g.DataStreamTreeTokenType.PARAGRAPH&&(o.isBack=!0),e.shiftKey&&this._getActiveRangeInstance())this._updateActiveRangeFocusPosition(o);else if(e.ctrlKey||this._isEmpty()){const p=new Ct(n,this._document,this._docSkeleton,o);this._addTextRange(p)}else this._updateTextRangeAnchorPosition(o);this._activeSelectionRefresh(),n.disableEvent();const u=Qe.create(n);this._scrollTimers.push(u),u.startScroll(s,i);const{scrollX:l,scrollY:c}=He(u);this._viewportScrollX=l,this._viewportScrollY=c,this._onSelectionStart$.next((_=this._getActiveRangeInstance())==null?void 0:_.startNodePosition);let h=s,f=i;this._moveObservers.push(n.onPointerMoveObserver.add(p=>{const{offsetX:m,offsetY:v}=p;n.setCursor(d1.TEXT),!(Math.sqrt((m-h)**2+(v-f)**2)<3)&&(this._moving(m,v),h=m,f=v)})),this._upObservers.push(n.onPointerUpObserver.add(()=>{this._moveObservers.forEach(p=>{p==null||p.dispose()}),this._upObservers.forEach(p=>{p==null||p.dispose()}),this._moveObservers=[],this._upObservers=[],n.enableEvent(),this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),segmentId:this._currentSegmentId,style:this._selectionStyle,isEditing:!1}),this._scrollTimers.forEach(p=>{p==null||p.dispose()}),this._scrollTimers=[],this._updateInputPosition()}))}removeAllTextRanges(){this._removeAllTextRanges(),this.deactivate()}_getAllTextRanges(){return this._rangeList}_getActiveRange(){const e=this._rangeList.find(l=>l.isActive());if(e==null)return null;const{startOffset:n,endOffset:s,collapsed:i,startNodePosition:a,endNodePosition:o,direction:u}=e;return n==null||s==null?null:{startOffset:n,endOffset:s,collapsed:i,startNodePosition:a,endNodePosition:o,direction:u,segmentId:this._currentSegmentId,style:this._selectionStyle}}_add(e){e!=null&&(this._addTextRange(e),e.refresh())}_getActiveRangeInstance(){return this._rangeList.find(e=>e.isActive())}dispose(){super.dispose(),this._detachEvent(),this._container.remove()}_initDOM(){const e=document.createElement("div");e.style.position="fixed",e.style.left="0px",e.style.top="0px";const n=document.createElement("div"),s=document.createElement("div");n.appendChild(s),e.appendChild(n),this._container=e,this._inputParent=n,this._input=s,this._initInput(),this._initInputEvents(),document.body.appendChild(e)}_initInput(){this._inputParent.style.cssText=`
|
|
2
2
|
position:absolute;
|
|
3
3
|
height:1px;
|
|
4
4
|
width:1px;
|
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
caret-color: transparent;
|
|
15
15
|
white-space: pre-wrap;
|
|
16
16
|
user-select: text;
|
|
17
|
-
`}_getNodePosition(
|
|
17
|
+
`}_getNodePosition(e){var u;if(e==null)return;const{node:n,ratioX:s}=e,i=(u=this._docSkeleton)==null?void 0:u.findPositionByGlyph(n);if(i==null)return;const o=s<.5;return{...i,isBack:o}}_interactTextRange(e){const n=[];let s=!1;this._rangeList.forEach(i=>{if(i===e)return!0;e.isIntersection(i)?(s=!0,i.dispose()):n.push(i)}),s&&(n.push(e),this._rangeList=n)}_removeAllTextRanges(){this._rangeList.forEach(e=>{e.dispose()}),this._rangeList=[]}_deactivateAllTextRanges(){this._rangeList.forEach(e=>{e.deactivate()})}_addTextRange(e){this._deactivateAllTextRanges(),e.activate(),this._rangeList.push(e)}_updateTextRangeAnchorPosition(e){if(!this._scene)return;let n=this._rangeList.pop();n||(n=new Ct(this._scene,this._document,this._docSkeleton,e)),this._removeAllTextRanges(),n.activate(),n.anchorNodePosition=e,n.focusNodePosition=null,this._rangeList=[n]}_updateActiveRangeFocusPosition(e){if(!this._scene){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: scene is null");return}const n=this._getActiveRangeInstance();if(n==null||n.anchorNodePosition==null){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: active range has no anchor");return}this._removeAllTextRanges(),n.activate(),n.focusNodePosition=e,this.deactivate(),this._rangeList=[n]}_isEmpty(){return this._rangeList.length===0}_getCanvasOffset(){var n;const e=(n=this._scene)==null?void 0:n.getEngine();return e3(e)}_updateInputPosition(){const e=this._getActiveRangeInstance(),n=e==null?void 0:e.getAnchor();if(!n||n&&!n.visible||this._activeViewport==null){this.focus();return}const{left:s,top:i}=n,a=this._activeViewport.getAbsoluteVector(P.FromArray([s,i])),{x:o,y:u}=a;let{left:l,top:c}=this._getCanvasOffset();l+=o,c+=u,this.activate(l,c)}_moving(e,n){var o,u;if(this._docSkeleton==null)return;const s=this._findNodeByCoord(e,n),i=this._getNodePosition(s);if(!i)return;const a=this._getActiveRangeInstance();a&&(a.focusNodePosition=i,a.refresh(),this.deactivate(),this._interactTextRange(a),(u=(o=this._scene)==null?void 0:o.getEngine())==null||u.setRemainCapture())}_attachScrollEvent(e){if(e==null||this._docSkeleton==null)return;const s=`${this._docSkeleton.getViewModel().getDataModel().getUnitId()}_${e.viewPortKey}`;if(this._viewPortObserverMap.has(s))return;const i=e.onScrollBeforeObserver.add(o=>{if(!o.viewport)return;const l=this._getActiveRangeInstance();l==null||l.activeStatic()}),a=e.onScrollStopObserver.add(o=>{const u=o.viewport;if(!u)return;const l=u.getBounding(),c=this._getActiveRangeInstance(),h=c==null?void 0:c.getAnchor();if(!(!h||h&&!h.visible)){if(l){const{left:f,top:_,right:p,bottom:m}=l.viewBound;if(h.left<f||h.left>p||h.top<_||h.top>m){c==null||c.deactivateStatic();return}}this._updateInputPosition()}});this._viewPortObserverMap.set(s,{scrollBefore:i,scrollStop:a})}_initInputEvents(){this.disposeWithMe(u1.fromEvent(this._input,"keydown").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,n=>{this._onKeydown$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"input").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onInput$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"compositionstart").subscribe(e=>{this._isIMEInputApply=!0,this._eventHandle(e,n=>{this._onCompositionstart$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"compositionend").subscribe(e=>{this._isIMEInputApply=!1,this._eventHandle(e,n=>{this._onCompositionend$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"compositionupdate").subscribe(e=>{this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onCompositionupdate$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"paste").subscribe(e=>{this._eventHandle(e,n=>{this._onPaste$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"focus").subscribe(e=>{this._eventHandle(e,n=>{this._onFocus$.next(n)})})),this.disposeWithMe(u1.fromEvent(this._input,"blur").subscribe(e=>{this._eventHandle(e,n=>{this._onBlur$.next(n)})}))}_eventHandle(e,n){const s=this._input.textContent||"";this._input.innerHTML="";const i=this._getActiveRange(),a=this._getAllTextRanges();n({event:e,content:s,activeRange:i,rangeList:a})}_getTransformCoordForDocumentOffset(e,n){const{documentTransform:s}=this._document.getOffsetConfig();if(this._activeViewport==null||s==null)return;const i=this._activeViewport.getRelativeVector(P.FromArray([e,n]));if(i)return s.clone().invert().applyPoint(i)}_findNodeByCoord(e,n){var u;const s=this._getTransformCoordForDocumentOffset(e,n);if(s==null)return;const{pageLayoutType:i=V1.VERTICAL,pageMarginLeft:a,pageMarginTop:o}=this._document.getOffsetConfig();return(u=this._docSkeleton)==null?void 0:u.findNodeByCoord(s,i,a,o)}_detachEvent(){this._onInputBefore$.complete(),this._onKeydown$.complete(),this._onInput$.complete(),this._onCompositionstart$.complete(),this._onCompositionupdate$.complete(),this._onCompositionend$.complete(),this._onSelectionStart$.complete()}_activeSelectionRefresh(){if(this._docSkeleton==null)return;const e=this._getActiveRangeInstance();e==null||e.refresh()}},y.TextSelectionRenderManager=Qo([eu(0,g.ILogService)],y.TextSelectionRenderManager);const tu=E1.createIdentifier("univer.doc.text-selection-render-manager");y.BASE_OBJECT_ARRAY=j2,y.BORDER_TYPE=q,y.Background=Z0,y.BaseObject=ne,y.Border=J0,y.BreakType=Ne,y.CHECK_OBJECT_ARRAY=jn,y.CIRCLE_OBJECT_ARRAY=Yn,y.COLOR_BLACK_RGB=he,y.CURSOR_TYPE=d1,y.Canvas=Ge,y.CanvasRenderMode=Vt,y.Checkbox=s0,y.Circle=t0,y.ColumnHeaderLayout=Q0,y.ComponentExtension=Kt,y.Control=Mo,y.Custom=On,y.CustomObject=Co,y.DEFAULT_DOCUMENT_FONTSIZE=d0,y.DEFAULT_FONTFACE_PLANE=i2,y.DEFAULT_MEASURE_TEXT=b0,y.DEFAULT_OFFSET_SPACING=Bt,y.DEFAULT_SELECTION_LAYER_INDEX=u3,y.DEFAULT_SKELETON_FOOTER=o3,y.DEFAULT_SKELETON_HEADER=a3,y.DOCUMENT_CONTEXT_CLIP_TYPE=_0,y.DeviceInputEventType=z0,y.DeviceType=R1,y.DocumentSkeleton=Je,y.DocumentViewModel=be,y.Documents=I2,y.DocumentsSpanAndLineExtensionRegistry=ze,y.Drawing=Po,y.EMOJI_REG=G2,y.EVENT_TYPE=X1,y.Engine=mt,y.EventConstants=K2,y.FIX_ONE_PIXEL_BLUR_OFFSET=g1,y.Font=Tn,y.FontCache=ee,y.GlyphType=A1,y.Group=Mn,y.HitCanvas=lr,y.INITIAL_MATRIX=V2,y.INITIAL_Path2=X0,y.IRenderManagerService=Xn,y.IRenderingEngine=Wn,y.ITextSelectionRenderManager=tu,y.IsSafari=T0,y.LINK_VIEW_PORT_TYPE=h0,y.Layer=Pn,y.LineType=_2,y.Liquid=m2,y.MAXIMUM_ROW_HEIGHT=g0,y.MIDDLE_CELL_POS_MAGIC_NUMBER=xt,y.Marker=Bn,y.NORMAL_TEXT_SELECTION_PLUGIN_STYLE=g2,y.NodePositionConvertToCursor=Zn,y.ORIENTATION_TYPE=a2,y.PATH_OBJECT_ARRAY=$n,y.PageLayoutType=V1,y.Path=x1,y.Path2=W0,y.PerformanceMonitor=Y0,y.Picture=bt,y.PointerInput=W,y.RANGE_DIRECTION=D2,y.RECT_OBJECT_ARRAY=Un,y.REGULAR_POLYGON_OBJECT_ARRAY=Vn,y.RENDER_CLASS_TYPE=K,y.RENDER_RAW_FORMULA_KEY=Sn,y.RICHTEXT_OBJECT_ARRAY=n0,y.Rect=L1,y.RegularPolygon=yt,y.RenderComponent=jt,y.RenderUnit=Gn,y.RichText=No,y.RollingAverage=V0,y.RowHeaderLayout=xn,y.SHAPE_OBJECT_ARRAY=Rn,y.SHAPE_TYPE=Tt,y.SHEET_EXTENSION_TYPE=q0,y.SLIDE_NAVIGATION_KEY=kn,y.Scene=Hn,y.SceneCanvas=ur,y.SceneViewer=Q6,y.ScrollBar=r0,y.ScrollTimer=Qe,y.ScrollTimerType=Nn,y.Selection=Ho,y.Shape=$e,y.SheetColumnHeaderExtensionRegistry=Zt,y.SheetComponent=Jt,y.SheetExtension=de,y.SheetRowHeaderExtensionRegistry=qt,y.ShowGridlinesState=wn,y.SkeletonType=M0,y.Slide=Fo,y.Spreadsheet=yo,y.SpreadsheetColumnHeader=cr,y.SpreadsheetExtensionRegistry=Se,y.SpreadsheetHeader=Qt,y.SpreadsheetRowHeader=ao,y.TEXT_RANGE_LAYER_INDEX=o0,y.TRANSFORM_CHANGE_OBSERVABLE_TYPE=h1,y.TextRange=Ct,y.ThinEngine=Ln,y.Transform=m1,y.UNIVER_GLOBAL_DEFAULT_FONT_FAMILY=O0,y.UNIVER_GLOBAL_DEFAULT_FONT_SIZE=B0,y.UniverPrintingContext=K0,y.UniverRenderingContext=j0,y.UniverRenderingContext2D=Yt,y.UniverRenderingContextWebGL=ar,y.UniverRenderingContextWebGPU=or,y.VERTICAL_ROTATE_ANGLE=S1,y.Vector2=P,y.Viewport=Xo,y.calculateRectRotate=Ue,y.cancelRequestFrame=E0,y.checkStyle=q3,y.clearLineByBorderType=sr,y.convertTextRotation=p2,y.createCanvasElement=wt,y.createImageElement=B3,y.degToRad=Y1,y.drawDiagonalLineByBorderType=N0,y.drawLineByBorderType=Gt,y.fixLineWidthByScale=Z,y.generateRandomKey=x0,y.getAnchorBounding=Qn,y.getCanvasOffsetByEngine=e3,y.getCellByIndex=Pe,y.getCellInfoInMergeData=d2,y.getCellPositionByIndex=Ce,y.getCharSpaceApply=v2,y.getColor=F1,y.getCurrentScrollXY=He,y.getDPI=f2,y.getDevicePixelRatio=Ht,y.getDocsSkeletonPageSize=k2,y.getFontStyleString=l2,y.getLineOffset=U0,y.getLineWidth=Xt,y.getLineWith=H0,y.getNumberUnitValue=Te,y.getParagraphByGlyph=P0,y.getPointerPrefix=At,y.getRotateOffsetAndFarthestHypotenuse=Wt,y.getRotateOrientation=G0,y.getScale=Pt,y.getSizeForDom=I0,y.getTranslateInSpreadContextWithPixelRatio=ir,y.getValueType=fe,y.hasAllLatin=P3,y.hasArabic=It,y.hasBasicLatin=N3,y.hasCJK=h2,y.hasCJKPunctuation=kt,y.hasCJKText=c2,y.hasLatinExtendedA=H3,y.hasLatinExtendedB=G3,y.hasLatinOneSupplement=U3,y.hasListGlyph=J3,y.hasSpace=w0,y.hasTibetan=Lt,y.hasUnMergedCellInRow=$0,y.injectStyle=K3,y.isArray=R3,y.isCjkCenterAlignedPunctuation=Mt,y.isCjkLeftAlignedPunctuation=X2,y.isCjkRightAlignedPunctuation=W2,y.isDate=w3,y.isFirstGlyph=tr,y.isFunction=Rt,y.isIndentByGlyph=Q3,y.isLastGlyph=er,y.isNumber=$3,y.isObject=k3,y.isPlaceholderOrSpace=nr,y.isRectIntersect=k0,y.isRegExp=A3,y.isSameLine=rr,y.isString=$t,y.mergeInfoOffset=Nt,y.pixelToPt=Z3,y.precisionTo=H2,y.ptToMM=V3,y.ptToPixel=Ut,y.ptToPx=W3,y.pxToInch=j3,y.pxToNum=Ee,y.pxToPt=Y3,y.radToDeg=S0,y.requestNewFrame=u2,y.setLineType=zt,y.startWithEmoji=z2,y.toPx=te,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
|