@univerjs/engine-render 0.1.6 → 0.1.7

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 CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Rt=Object.defineProperty;var It=(r,n,t)=>n in r?Rt(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t;var h=(r,n,t)=>(It(r,typeof n!="symbol"?n+"":n,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@univerjs/core"),U1=require("@wendellhu/redi"),Z=require("rxjs");var I6=(r=>(r.RECT="rect",r.CIRCLE="circle",r.PATH="path",r))(I6||{}),b1=(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))(b1||{}),j7=(r=>(r[r.XY=0]="XY",r[r.X=1]="X",r[r.Y=2]="Y",r))(j7||{});const x6=1,K2='"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',G7={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},xt={...G7,marginTop:20},Mt={...G7,marginBottom:20},U7="0",p6=1,V7=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||{}),K7=(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))(K7||{});const $1="rgb(0,0,0)";var Y=(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))(Y||{}),F2=(r=>(r[r.UP=0]="UP",r[r.DOWN=1]="DOWN",r))(F2||{}),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 Pt=1e3,J7=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 Lt{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 Lt{constructor(...n){super(),this.data=[];for(const t of n)t instanceof T1?this.data.push(...t.data):this.data.push(Nt(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,c]=o;let u;do{u=!0;const l=i[s];if(l===void 0){e.push(o);break}const[D,f]=l;f<a?(u=!1,s++):c<D?e.push(o):D<=a&&f<c?(s++,t.unshift([f+1,c])):a<D&&f<c?(s++,e.push([a,D-1]),t.unshift([f+1,c])):a<D&&c<=f&&e.push([a,D-1])}while(!u)}return new T1(...e)}intersect(...n){return this.subtract(this.subtract(...n))}_isEmpty(){return this.data.length===0}_toString(n){return Ht(this.data,n)}_unique(){this.data.sort(kt);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 J2=(...r)=>new T1(...r);function $t(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 Nt(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"?$t(e):e));return n}function kt(r,n){return r[0]-n[0]}function Ht(r,n=""){if(n.includes("u"))return f7(r,!0);const{normal:t,surrogate:e}=Yt(r),s=[];return t.length!==0&&s.push(f7(t,!1)),s.push(...Xt(e)),s.join("|")}function f7(r,n){return`[${r.map(([e,s])=>e===s?g2(e,n):`${g2(e,n)}-${g2(s,n)}`).join("")}]`}function Xt(r){const n=[];if(r.entire.data.length!==0){const t=r.entire.toString(),e=`[${[56320,57343].map(s=>g2(s,!1)).join("-")}]`;n.push(`${t}${e}`)}for(const{h:t,l:e}of r.partial){const s=g2(t,!1),i=e.toString();n.push(`${s}${i}`)}return n}function Yt(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:zt(t)}}function zt(r){const n=[],t=[];for(const[i,o]of r){const a=g7(i),c=g7(o);if(a.h===c.h){s(a.h,a.l,c.l);continue}a.l===56320?e(a.h):s(a.h,a.l,57343);for(let u=a.h+1;u<c.h;u++)e(u);c.l===57343?e(c.h):s(c.h,56320,c.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 c=t[t.length-1];c!==void 0&&c.h===i?c.l.push([o,a]):t.push({h:i,l:[[o,a]]})}}function g7(r){return{h:Math.floor((r-65536)/1024)+55296,l:(r-65536)%1024+56320}}function g2(r,n){const t=r.toString(16);return n?`\\u{${t}}`:`\\u${"0".repeat(4-t.length)}${t}`}const Wt=[[0,127]],jt=[[48,57],[65,70],[97,102]],Gt=[[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]],Ut=[[0,1114111]],Vt=[[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]],Kt=[1564,[8206,8207],[8234,8238],[8294,8297]],Jt=[[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],Zt=[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]],qt=[[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]],Qt=[[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]],te=[[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]],ee=[[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]],ne=[[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]],se=[[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]],ie=[[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]],re=[[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]],oe=[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],ae=[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]],ue=[329,1651,3959,3961,[6051,6052],[8298,8303],[9001,9002],917505],ce=[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]],le=[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]],he=[35,42,[48,57],8205,8419,65039,[127462,127487],[127995,127999],[129456,129459],[917536,917631]],De=[[127995,127999]],_e=[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]],de=[[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]],fe=[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]],ge=[[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]],pe=[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]],me=[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]],Fe=[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]],Ce=[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]],Ee=[[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]],be=[[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]],Se=[[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]],Te=[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]],ve=[[48,57],[65,70],[97,102],[65296,65305],[65313,65318],[65345,65350]],ye=[45,173,1418,6150,[8208,8209],11799,12539,65123,65293,65381],Be=[[12272,12273],[12276,12283]],Oe=[[12274,12275]],we=[[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]],Ae=[[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]],Re=[[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]],Ie=[[8204,8205]],xe=[[3648,3652],[3776,3780],[6581,6583],6586,[43701,43702],43705,[43707,43708]],Me=[[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]],Pe=[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]],Le=[[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]],$e=[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]],Ne=[847,[4447,4448],[6068,6069],8293,12644,65440,[65520,65528],917504,[917506,917535],[917632,917759],[918e3,921599]],ke=[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]],He=[183,903,[4969,4977],6618],Xe=[[6277,6278],8472,8494,[12443,12444]],Ye=[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]],ze=[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]],We=[[8544,8559],[9398,9423],[127280,127305],[127312,127337],[127344,127369]],je=[[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]],Ge=[[9,13],32,133,[8206,8207],[8232,8233]],Ue=[[1536,1541],1757,1807,[2192,2193],2274,69821,69837],Ve=[34,39,171,187,[8216,8223],[8249,8250],11842,[12300,12303],[12317,12319],[65089,65092],65282,65287,[65378,65379]],Ke=[[11904,11929],[11931,12019],[12032,12245]],Je=[[127462,127487]],Ze=[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],qe=[[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],Qe=[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]],t0=[[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]],e0=[[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]],n0=[[6155,6157],6159,[65024,65039],[917760,917999]],s0=[[9,13],32,133,160,5760,[8192,8202],[8232,8233],8239,8287,12288],i0=[[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]],r0=[[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]],o0=Object.freeze(Object.defineProperty({__proto__:null,ASCII:Wt,ASCII_Hex_Digit:jt,Alphabetic:Gt,Any:Ut,Assigned:Vt,Bidi_Control:Kt,Bidi_Mirrored:Jt,Case_Ignorable:Zt,Cased:qt,Changes_When_Casefolded:Qt,Changes_When_Casemapped:te,Changes_When_Lowercased:ee,Changes_When_NFKC_Casefolded:ne,Changes_When_Titlecased:se,Changes_When_Uppercased:ie,Composition_Exclusion:re,Dash:oe,Default_Ignorable_Code_Point:ae,Deprecated:ue,Diacritic:ce,Emoji:le,Emoji_Component:he,Emoji_Modifier:De,Emoji_Modifier_Base:_e,Emoji_Presentation:de,Expands_On_NFC:fe,Expands_On_NFD:ge,Expands_On_NFKC:pe,Expands_On_NFKD:me,Extended_Pictographic:Fe,Extender:Ce,Full_Composition_Exclusion:Ee,Grapheme_Base:be,Grapheme_Extend:Se,Grapheme_Link:Te,Hex_Digit:ve,Hyphen:ye,IDS_Binary_Operator:Be,IDS_Trinary_Operator:Oe,ID_Continue:we,ID_Start:Ae,Ideographic:Re,Join_Control:Ie,Logical_Order_Exception:xe,Lowercase:Me,Math:Pe,Noncharacter_Code_Point:Le,Other_Alphabetic:$e,Other_Default_Ignorable_Code_Point:Ne,Other_Grapheme_Extend:ke,Other_ID_Continue:He,Other_ID_Start:Xe,Other_Lowercase:Ye,Other_Math:ze,Other_Uppercase:We,Pattern_Syntax:je,Pattern_White_Space:Ge,Prepended_Concatenation_Mark:Ue,Quotation_Mark:Ve,Radical:Ke,Regional_Indicator:Je,Sentence_Terminal:Ze,Soft_Dotted:qe,Terminal_Punctuation:Qe,Unified_Ideograph:t0,Uppercase:e0,Variation_Selector:n0,White_Space:s0,XID_Continue:i0,XID_Start:r0},Symbol.toStringTag,{value:"Module"})),a0=[[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]],u0=[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],c0=[95,[8255,8256],8276,[65075,65076],[65101,65103],65343],l0=[[0,31],[127,159]],h0=[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],D0=[45,1418,1470,5120,6150,[8208,8213],11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],_0=[[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]],d0=[[1160,1161],6846,[8413,8416],[8418,8420],[42608,42610]],f0=[187,8217,8221,8250,11779,11781,11786,11789,11805,11809],g0=[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]],p0=[171,8216,[8219,8220],8223,8249,11778,11780,11785,11788,11804,11808],m0=[[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]],F0=[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]],C0=[8232],E0=[[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]],b0=[[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]],S0=[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]],T0=[[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],v0=[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]],y0=[[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]],B0=[[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]],O0=[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],w0=[[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]],A0=[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]],R0=[[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]],I0=[[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]],x0=[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]],M0=[8233],P0=[[57344,63743],[983040,1048573],[1048576,1114109]],L0=[[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]],$0=[32,160,5760,[8192,8202],[8232,8233],8239,8287,12288],N0=[32,160,5760,[8192,8202],8239,8287,12288],k0=[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]],H0=[[55296,57343]],X0=[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]],Y0=[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],z0=[[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]],W0=[[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]],j0=Object.freeze(Object.defineProperty({__proto__:null,Cased_Letter:a0,Close_Punctuation:u0,Connector_Punctuation:c0,Control:l0,Currency_Symbol:h0,Dash_Punctuation:D0,Decimal_Number:_0,Enclosing_Mark:d0,Final_Punctuation:f0,Format:g0,Initial_Punctuation:p0,Letter:m0,Letter_Number:F0,Line_Separator:C0,Lowercase_Letter:E0,Mark:b0,Math_Symbol:S0,Modifier_Letter:T0,Modifier_Symbol:v0,Nonspacing_Mark:y0,Number:B0,Open_Punctuation:O0,Other:w0,Other_Letter:A0,Other_Number:R0,Other_Punctuation:I0,Other_Symbol:x0,Paragraph_Separator:M0,Private_Use:P0,Punctuation:L0,Separator:$0,Space_Separator:N0,Spacing_Mark:k0,Surrogate:H0,Symbol:X0,Titlecase_Letter:Y0,Unassigned:z0,Uppercase_Letter:W0},Symbol.toStringTag,{value:"Module"})),G0=[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]],U0=[[1536,1541],[1632,1641],[1643,1644],1757,[2192,2193],2274,[68912,68921],[69216,69246]],V0=[[0,8],[14,27],[127,132],[134,159],173,6158,[8203,8205],[8288,8292],[8298,8303],65279,[113824,113827],[119155,119162],917505,[917536,917631]],K0=[44,[46,47],58,160,1548,8239,8260,65104,65106,65109,65292,[65294,65295],65306],J0=[[48,57],[178,179],185,[1776,1785],8304,[8308,8313],[8320,8329],[9352,9371],[65296,65305],[66273,66299],[120782,120831],[127232,127242],[130032,130041]],Z0=[43,45,[8314,8315],[8330,8331],8722,64297,[65122,65123],65291,65293],q0=[[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],Q0=[8296],t3=[[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]],e3=[8234],n3=[8294],s3=[8237],i3=[[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]],r3=[[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]],o3=[10,13,[28,30],133,8233],a3=[8236],u3=[8297],c3=[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]],l3=[8235],h3=[8295],D3=[8238],_3=[9,11,31],d3=[12,32,5760,[8192,8202],8232,8287,12288],f3=Object.freeze(Object.defineProperty({__proto__:null,Arabic_Letter:G0,Arabic_Number:U0,Boundary_Neutral:V0,Common_Separator:K0,European_Number:J0,European_Separator:Z0,European_Terminator:q0,First_Strong_Isolate:Q0,Left_To_Right:t3,Left_To_Right_Embedding:e3,Left_To_Right_Isolate:n3,Left_To_Right_Override:s3,Nonspacing_Mark:i3,Other_Neutral:r3,Paragraph_Separator:o3,Pop_Directional_Format:a3,Pop_Directional_Isolate:u3,Right_To_Left:c3,Right_To_Left_Embedding:l3,Right_To_Left_Isolate:h3,Right_To_Left_Override:D3,Segment_Separator:_3,White_Space:d3},Symbol.toStringTag,{value:"Module"})),g3=[[125184,125259],[125264,125273],[125278,125279]],p3=[[71424,71450],[71453,71467],[71472,71494]],m3=[[82944,83526]],F3=[[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]],C3=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],E3=[[68352,68405],[68409,68415]],b3=[[6912,6988],[6992,7038]],S3=[[42656,42743],[92160,92728]],T3=[[92880,92909],[92912,92917]],v3=[[7104,7155],[7164,7167]],y3=[[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]],B3=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],O3=[[746,747],[12549,12591],[12704,12735]],w3=[[69632,69709],[69714,69749],69759],A3=[[10240,10495]],R3=[[6656,6683],[6686,6687]],I3=[[5952,5971]],x3=[[5120,5759],[6320,6389],[72368,72383]],M3=[[66208,66256]],P3=[[66864,66915],66927],L3=[[69888,69940],[69942,69959]],$3=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],N3=[[5024,5109],[5112,5117],[43888,43967]],k3=[[69552,69579]],H3=[[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]],X3=[[994,1007],[11392,11507],[11513,11519]],Y3=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],z3=[[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],W3=[[77712,77810]],j3=[[1024,1156],[1159,1327],[7296,7304],7467,7544,[11744,11775],[42560,42655],[65070,65071],[122928,122989],123023],G3=[[66560,66639]],U3=[[2304,2384],[2389,2403],[2406,2431],[43232,43263],[72448,72457]],V3=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],K3=[[71680,71739]],J3=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113823]],Z3=[[77824,78933]],q3=[[66816,66855]],Q3=[[69600,69622]],t8=[[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]],e8=[[4256,4293],4295,4301,[4304,4346],[4348,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],n8=[[11264,11359],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],s8=[[66352,66378]],i8=[[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]],r8=[[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]],o8=[[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]],a8=[[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],u8=[[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]],c8=[[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]],l8=[[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]],h8=[[68864,68903],[68912,68921]],D8=[[5920,5940]],_8=[[67808,67826],[67828,67829],[67835,67839]],d8=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],f8=[[12353,12438],[12445,12447],[110593,110879],110898,[110928,110930],127488],g8=[[67648,67669],[67671,67679]],p8=[[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]],m8=[[68448,68466],[68472,68479]],F8=[[68416,68437],[68440,68447]],C8=[[43392,43469],[43472,43481],[43486,43487]],E8=[[69760,69826],69837],b8=[[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]],S8=[[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]],T8=[[73472,73488],[73490,73530],[73534,73561]],v8=[[43264,43309],43311],y8=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],B8=[94180,[101120,101589]],O8=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],w8=[[70144,70161],[70163,70209]],A8=[[70320,70378],[70384,70393]],R8=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],I8=[[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]],x8=[[7168,7223],[7227,7241],[7245,7247]],M8=[[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],P8=[[67072,67382],[67392,67413],[67424,67431]],L8=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786]],$8=[[42192,42239],73648],N8=[[66176,66204]],k8=[[67872,67897],67903],H8=[[69968,70006]],X8=[[73440,73464]],Y8=[[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455]],z8=[[2112,2139],2142],W8=[[68288,68326],[68331,68342]],j8=[[72816,72847],[72850,72871],[72873,72886]],G8=[[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],U8=[[93760,93850]],V8=[[43744,43766],[43968,44013],[44016,44025]],K8=[[124928,125124],[125127,125142]],J8=[[68e3,68023],[68028,68047],[68050,68095]],Z8=[[67968,67999]],q8=[[93952,94026],[94031,94087],[94095,94111]],Q8=[[71168,71236],[71248,71257]],t9=[[6144,6145],6148,[6150,6169],[6176,6264],[6272,6314],[71264,71276]],e9=[[92736,92766],[92768,92777],[92782,92783]],n9=[[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],s9=[[4096,4255],[43488,43518],[43616,43647]],i9=[[67712,67742],[67751,67759]],r9=[[124112,124153]],o9=[[72096,72103],[72106,72151],[72154,72164]],a9=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],u9=[[70656,70747],[70749,70753]],c9=[[1984,2042],[2045,2047]],l9=[94177,[110960,111355]],h9=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],D9=[[5760,5788]],_9=[[7248,7295]],d9=[[68736,68786],[68800,68850],[68858,68863]],f9=[[66304,66339],[66349,66351]],g9=[[68224,68255]],p9=[[66384,66426]],m9=[[66464,66499],[66504,66517]],F9=[[69376,69415]],C9=[[68192,68223]],E9=[[68608,68680]],b9=[[69488,69513]],S9=[[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]],T9=[[66736,66771],[66776,66811]],v9=[[66688,66717],[66720,66729]],y9=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],B9=[[67680,67711]],O9=[[72384,72440]],w9=[[43072,43127]],A9=[[67840,67867],67871],R9=[[68480,68497],[68505,68508],[68521,68527]],I9=[[43312,43347],43359],x9=[[5792,5866],[5870,5880]],M9=[[2048,2093],[2096,2110]],P9=[[43136,43205],[43214,43225]],L9=[[70016,70111]],$9=[[66640,66687]],N9=[[71040,71093],[71096,71133]],k9=[[120832,121483],[121499,121503],[121505,121519]],H9=[[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],X9=[[69424,69465]],Y9=[[69840,69864],[69872,69881]],z9=[[72272,72354]],W9=[[7040,7103],[7360,7367]],j9=[[43008,43052]],G9=[[1792,1805],[1807,1866],[1869,1871],[2144,2154]],U9=[[5888,5909],5919],V9=[[5984,5996],[5998,6e3],[6002,6003]],K9=[[6480,6509],[6512,6516]],J9=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],Z9=[[43648,43714],[43739,43743]],q9=[[71296,71353],[71360,71369]],Q9=[[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],t5=[[92784,92862],[92864,92873]],e5=[94176,[94208,100343],[100352,101119],[101632,101640]],n5=[[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]],s5=[[1920,1969]],i5=[[3585,3642],[3648,3675]],r5=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],o5=[[11568,11623],[11631,11632],11647],a5=[[70784,70855],[70864,70873]],u5=[[123536,123566]],c5=[[66432,66461],66463],l5=[[42240,42539]],h5=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],D5=[[123584,123641],123647],_5=[[71840,71922],71935],d5=[[69248,69289],[69291,69293],[69296,69297]],f5=[[40960,42124],[42128,42182]],g5=[[72192,72263]],p5=Object.freeze(Object.defineProperty({__proto__:null,Adlam:g3,Ahom:p3,Anatolian_Hieroglyphs:m3,Arabic:F3,Armenian:C3,Avestan:E3,Balinese:b3,Bamum:S3,Bassa_Vah:T3,Batak:v3,Bengali:y3,Bhaiksuki:B3,Bopomofo:O3,Brahmi:w3,Braille:A3,Buginese:R3,Buhid:I3,Canadian_Aboriginal:x3,Carian:M3,Caucasian_Albanian:P3,Chakma:L3,Cham:$3,Cherokee:N3,Chorasmian:k3,Common:H3,Coptic:X3,Cuneiform:Y3,Cypriot:z3,Cypro_Minoan:W3,Cyrillic:j3,Deseret:G3,Devanagari:U3,Dives_Akuru:V3,Dogra:K3,Duployan:J3,Egyptian_Hieroglyphs:Z3,Elbasan:q3,Elymaic:Q3,Ethiopic:t8,Georgian:e8,Glagolitic:n8,Gothic:s8,Grantha:i8,Greek:r8,Gujarati:o8,Gunjala_Gondi:a8,Gurmukhi:u8,Han:c8,Hangul:l8,Hanifi_Rohingya:h8,Hanunoo:D8,Hatran:_8,Hebrew:d8,Hiragana:f8,Imperial_Aramaic:g8,Inherited:p8,Inscriptional_Pahlavi:m8,Inscriptional_Parthian:F8,Javanese:C8,Kaithi:E8,Kannada:b8,Katakana:S8,Kawi:T8,Kayah_Li:v8,Kharoshthi:y8,Khitan_Small_Script:B8,Khmer:O8,Khojki:w8,Khudawadi:A8,Lao:R8,Latin:I8,Lepcha:x8,Limbu:M8,Linear_A:P8,Linear_B:L8,Lisu:$8,Lycian:N8,Lydian:k8,Mahajani:H8,Makasar:X8,Malayalam:Y8,Mandaic:z8,Manichaean:W8,Marchen:j8,Masaram_Gondi:G8,Medefaidrin:U8,Meetei_Mayek:V8,Mende_Kikakui:K8,Meroitic_Cursive:J8,Meroitic_Hieroglyphs:Z8,Miao:q8,Modi:Q8,Mongolian:t9,Mro:e9,Multani:n9,Myanmar:s9,Nabataean:i9,Nag_Mundari:r9,Nandinagari:o9,New_Tai_Lue:a9,Newa:u9,Nko:c9,Nushu:l9,Nyiakeng_Puachue_Hmong:h9,Ogham:D9,Ol_Chiki:_9,Old_Hungarian:d9,Old_Italic:f9,Old_North_Arabian:g9,Old_Permic:p9,Old_Persian:m9,Old_Sogdian:F9,Old_South_Arabian:C9,Old_Turkic:E9,Old_Uyghur:b9,Oriya:S9,Osage:T9,Osmanya:v9,Pahawh_Hmong:y9,Palmyrene:B9,Pau_Cin_Hau:O9,Phags_Pa:w9,Phoenician:A9,Psalter_Pahlavi:R9,Rejang:I9,Runic:x9,Samaritan:M9,Saurashtra:P9,Sharada:L9,Shavian:$9,Siddham:N9,SignWriting:k9,Sinhala:H9,Sogdian:X9,Sora_Sompeng:Y9,Soyombo:z9,Sundanese:W9,Syloti_Nagri:j9,Syriac:G9,Tagalog:U9,Tagbanwa:V9,Tai_Le:K9,Tai_Tham:J9,Tai_Viet:Z9,Takri:q9,Tamil:Q9,Tangsa:t5,Tangut:e5,Telugu:n5,Thaana:s5,Thai:i5,Tibetan:r5,Tifinagh:o5,Tirhuta:a5,Toto:u5,Ugaritic:c5,Vai:l5,Vithkuqi:h5,Wancho:D5,Warang_Citi:_5,Yezidi:d5,Yi:f5,Zanabazar_Square:g5},Symbol.toStringTag,{value:"Module"})),m5=[1567,1600,[125184,125259],[125264,125273],[125278,125279]],F5=[[71424,71450],[71453,71467],[71472,71494]],C5=[[82944,83526]],E5=[[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]],b5=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],S5=[[68352,68405],[68409,68415]],T5=[[6912,6988],[6992,7038]],v5=[[42656,42743],[92160,92728]],y5=[[92880,92909],[92912,92917]],B5=[[7104,7155],[7164,7167]],O5=[[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],w5=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],A5=[[746,747],[12289,12291],[12296,12305],[12307,12319],[12330,12333],12336,12343,12539,[12549,12591],[12704,12735],[65093,65094],[65377,65381]],R5=[[69632,69709],[69714,69749],69759],I5=[[10240,10495]],x5=[[6656,6683],[6686,6687],43471],M5=[[5941,5942],[5952,5971]],P5=[[5120,5759],[6320,6389],[72368,72383]],L5=[[66208,66256]],$5=[[66864,66915],66927],N5=[[2534,2543],[4160,4169],[69888,69940],[69942,69959]],k5=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],H5=[[5024,5109],[5112,5117],[43888,43967]],X5=[[69552,69579]],Y5=[[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]],z5=[[994,1007],[11392,11507],[11513,11519],[66272,66299]],W5=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],j5=[[65792,65794],[65799,65843],[65847,65855],[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],G5=[[65792,65793],[77712,77810]],U5=[[1024,1327],[7296,7304],7467,7544,7672,[11744,11775],11843,[42560,42655],[65070,65071],[122928,122989],123023],V5=[[66560,66639]],K5=[[2304,2386],[2389,2431],[7376,7414],[7416,7417],8432,[43056,43065],[43232,43263],[72448,72457]],J5=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],Z5=[[2404,2415],[43056,43065],[71680,71739]],q5=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827]],Q5=[[77824,78933]],tn=[[66816,66855]],en=[[69600,69622]],nn=[[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]],sn=[[4256,4293],4295,4301,[4304,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],rn=[1156,1159,[11264,11359],11843,42607,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],on=[[66352,66378]],an=[[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],un=[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]],cn=[[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]],ln=[[2404,2405],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],hn=[[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]],Dn=[[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]],_n=[[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]],dn=[1548,1563,1567,1600,1748,[68864,68903],[68912,68921]],fn=[[5920,5942]],gn=[[67808,67826],[67828,67829],[67835,67839]],pn=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],mn=[[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],Fn=[[67648,67669],[67671,67679]],Cn=[[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]],En=[[68448,68466],[68472,68479]],bn=[[68416,68437],[68440,68447]],Sn=[[43392,43469],[43471,43481],[43486,43487]],Tn=[[2406,2415],[43056,43065],[69760,69826],69837],vn=[[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]],yn=[[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]],Bn=[[73472,73488],[73490,73530],[73534,73561]],On=[[43264,43311]],wn=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],An=[94180,[101120,101589]],Rn=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],In=[[2790,2799],[43056,43065],[70144,70161],[70163,70209]],xn=[[2404,2405],[43056,43065],[70320,70378],[70384,70393]],Mn=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],Pn=[[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]],Ln=[[7168,7223],[7227,7241],[7245,7247]],$n=[2405,[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],Nn=[[65799,65843],[67072,67382],[67392,67413],[67424,67431]],kn=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65855]],Hn=[[42192,42239],73648],Xn=[[66176,66204]],Yn=[[67872,67897],67903],zn=[[2404,2415],[43056,43065],[69968,70006]],Wn=[[73440,73464]],jn=[[2385,2386],[2404,2405],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],7386,[43056,43058]],Gn=[1600,[2112,2139],2142],Un=[1600,[68288,68326],[68331,68342]],Vn=[[72816,72847],[72850,72871],[72873,72886]],Kn=[[2404,2405],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],Jn=[[93760,93850]],Zn=[[43744,43766],[43968,44013],[44016,44025]],qn=[[124928,125124],[125127,125142]],Qn=[[68e3,68023],[68028,68047],[68050,68095]],ts=[[67968,67999]],es=[[93952,94026],[94031,94087],[94095,94111]],ns=[[43056,43065],[71168,71236],[71248,71257]],ss=[[6144,6169],[6176,6264],[6272,6314],8239,[71264,71276]],is=[[92736,92766],[92768,92777],[92782,92783]],rs=[[2662,2671],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],os=[[4096,4255],43310,[43488,43518],[43616,43647]],as=[[67712,67742],[67751,67759]],us=[[124112,124153]],cs=[[2404,2405],[3302,3311],7401,7410,7418,[43056,43061],[72096,72103],[72106,72151],[72154,72164]],ls=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],hs=[[70656,70747],[70749,70753]],Ds=[1548,1563,1567,[1984,2042],[2045,2047],[64830,64831]],_s=[94177,[110960,111355]],ds=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],fs=[[5760,5788]],gs=[[7248,7295]],ps=[[68736,68786],[68800,68850],[68858,68863]],ms=[[66304,66339],[66349,66351]],Fs=[[68224,68255]],Cs=[1155,[66384,66426]],Es=[[66464,66499],[66504,66517]],bs=[[69376,69415]],Ss=[[68192,68223]],Ts=[[68608,68680]],vs=[1600,68338,[69488,69513]],ys=[[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],Bs=[[66736,66771],[66776,66811]],Os=[[66688,66717],[66720,66729]],ws=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],As=[[67680,67711]],Rs=[[72384,72440]],Is=[[6146,6147],6149,[43072,43127]],xs=[[67840,67867],67871],Ms=[1600,[68480,68497],[68505,68508],[68521,68527]],Ps=[[43312,43347],43359],Ls=[[5792,5866],[5870,5880]],$s=[[2048,2093],[2096,2110]],Ns=[[43136,43205],[43214,43225]],ks=[2385,7383,7385,[7388,7389],7392,[70016,70111]],Hs=[[66640,66687]],Xs=[[71040,71093],[71096,71133]],Ys=[[120832,121483],[121499,121503],[121505,121519]],zs=[[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]],Ws=[1600,[69424,69465]],js=[[69840,69864],[69872,69881]],Gs=[[72272,72354]],Us=[[7040,7103],[7360,7367]],Vs=[[2404,2405],[2534,2543],[43008,43052]],Ks=[1548,[1563,1564],1567,1600,[1611,1621],1648,[1792,1805],[1807,1866],[1869,1871],[2144,2154],7672,7674],Js=[[5888,5909],5919,[5941,5942]],Zs=[[5941,5942],[5984,5996],[5998,6e3],[6002,6003]],qs=[[4160,4169],[6480,6509],[6512,6516]],Qs=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],ti=[[43648,43714],[43739,43743]],ei=[[2404,2405],[43056,43065],[71296,71353],[71360,71369]],ni=[[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],si=[[92784,92862],[92864,92873]],ii=[94176,[94208,100343],[100352,101119],[101632,101640]],ri=[[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],oi=[1548,[1563,1564],1567,[1632,1641],[1920,1969],65010,65021],ai=[[3585,3642],[3648,3675]],ui=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],ci=[[11568,11623],[11631,11632],11647],li=[[2385,2386],[2404,2405],7410,[43056,43065],[70784,70855],[70864,70873]],hi=[[123536,123566]],Di=[[66432,66461],66463],_i=[[42240,42539]],di=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],fi=[[123584,123641],123647],gi=[[71840,71922],71935],pi=[1548,1563,1567,[1632,1641],[69248,69289],[69291,69293],[69296,69297]],mi=[[12289,12290],[12296,12305],[12308,12315],12539,[40960,42124],[42128,42182],[65377,65381]],Fi=[[72192,72263]],Ci=Object.freeze(Object.defineProperty({__proto__:null,Adlam:m5,Ahom:F5,Anatolian_Hieroglyphs:C5,Arabic:E5,Armenian:b5,Avestan:S5,Balinese:T5,Bamum:v5,Bassa_Vah:y5,Batak:B5,Bengali:O5,Bhaiksuki:w5,Bopomofo:A5,Brahmi:R5,Braille:I5,Buginese:x5,Buhid:M5,Canadian_Aboriginal:P5,Carian:L5,Caucasian_Albanian:$5,Chakma:N5,Cham:k5,Cherokee:H5,Chorasmian:X5,Common:Y5,Coptic:z5,Cuneiform:W5,Cypriot:j5,Cypro_Minoan:G5,Cyrillic:U5,Deseret:V5,Devanagari:K5,Dives_Akuru:J5,Dogra:Z5,Duployan:q5,Egyptian_Hieroglyphs:Q5,Elbasan:tn,Elymaic:en,Ethiopic:nn,Georgian:sn,Glagolitic:rn,Gothic:on,Grantha:an,Greek:un,Gujarati:cn,Gunjala_Gondi:ln,Gurmukhi:hn,Han:Dn,Hangul:_n,Hanifi_Rohingya:dn,Hanunoo:fn,Hatran:gn,Hebrew:pn,Hiragana:mn,Imperial_Aramaic:Fn,Inherited:Cn,Inscriptional_Pahlavi:En,Inscriptional_Parthian:bn,Javanese:Sn,Kaithi:Tn,Kannada:vn,Katakana:yn,Kawi:Bn,Kayah_Li:On,Kharoshthi:wn,Khitan_Small_Script:An,Khmer:Rn,Khojki:In,Khudawadi:xn,Lao:Mn,Latin:Pn,Lepcha:Ln,Limbu:$n,Linear_A:Nn,Linear_B:kn,Lisu:Hn,Lycian:Xn,Lydian:Yn,Mahajani:zn,Makasar:Wn,Malayalam:jn,Mandaic:Gn,Manichaean:Un,Marchen:Vn,Masaram_Gondi:Kn,Medefaidrin:Jn,Meetei_Mayek:Zn,Mende_Kikakui:qn,Meroitic_Cursive:Qn,Meroitic_Hieroglyphs:ts,Miao:es,Modi:ns,Mongolian:ss,Mro:is,Multani:rs,Myanmar:os,Nabataean:as,Nag_Mundari:us,Nandinagari:cs,New_Tai_Lue:ls,Newa:hs,Nko:Ds,Nushu:_s,Nyiakeng_Puachue_Hmong:ds,Ogham:fs,Ol_Chiki:gs,Old_Hungarian:ps,Old_Italic:ms,Old_North_Arabian:Fs,Old_Permic:Cs,Old_Persian:Es,Old_Sogdian:bs,Old_South_Arabian:Ss,Old_Turkic:Ts,Old_Uyghur:vs,Oriya:ys,Osage:Bs,Osmanya:Os,Pahawh_Hmong:ws,Palmyrene:As,Pau_Cin_Hau:Rs,Phags_Pa:Is,Phoenician:xs,Psalter_Pahlavi:Ms,Rejang:Ps,Runic:Ls,Samaritan:$s,Saurashtra:Ns,Sharada:ks,Shavian:Hs,Siddham:Xs,SignWriting:Ys,Sinhala:zs,Sogdian:Ws,Sora_Sompeng:js,Soyombo:Gs,Sundanese:Us,Syloti_Nagri:Vs,Syriac:Ks,Tagalog:Js,Tagbanwa:Zs,Tai_Le:qs,Tai_Tham:Qs,Tai_Viet:ti,Takri:ei,Tamil:ni,Tangsa:si,Tangut:ii,Telugu:ri,Thaana:oi,Thai:ai,Tibetan:ui,Tifinagh:ci,Tirhuta:li,Toto:hi,Ugaritic:Di,Vai:_i,Vithkuqi:di,Wancho:fi,Warang_Citi:gi,Yezidi:pi,Yi:mi,Zanabazar_Square:Fi},Symbol.toStringTag,{value:"Module"})),Ei=[],bi=[],Si=[],Ti=[],vi=Object.freeze(Object.defineProperty({__proto__:null,C:Ei,F:bi,S:Si,T:Ti},Symbol.toStringTag,{value:"Module"})),yi=[[125184,125279]],Bi=[[65792,65855]],Oi=[[71424,71503]],wi=[[128768,128895]],Ai=[[64256,64335]],Ri=[[82944,83583]],Ii=[[119296,119375]],xi=[[65856,65935]],Mi=[[65936,65999]],Pi=[[1536,1791]],Li=[[2208,2303]],$i=[[126464,126719]],Ni=[[64336,65023]],ki=[[65136,65279]],Hi=[[1872,1919]],Xi=[[1328,1423]],Yi=[[8592,8703]],zi=[[68352,68415]],Wi=[[6912,7039]],ji=[[42656,42751]],Gi=[[92160,92735]],Ui=[[0,127]],Vi=[[92880,92927]],Ki=[[7104,7167]],Ji=[[2432,2559]],Zi=[[72704,72815]],qi=[[9600,9631]],Qi=[[12544,12591]],tr=[[12704,12735]],er=[[9472,9599]],nr=[[69632,69759]],sr=[[10240,10495]],ir=[[6656,6687]],rr=[[5952,5983]],or=[[118784,119039]],ar=[[13056,13311]],ur=[[65072,65103]],cr=[[63744,64255]],lr=[[194560,195103]],hr=[[11904,12031]],Dr=[[12736,12783]],_r=[[12288,12351]],dr=[[19968,40959]],fr=[[13312,19903]],gr=[[131072,173791]],pr=[[173824,177983]],mr=[[177984,178207]],Fr=[[178208,183983]],Cr=[[183984,191471]],Er=[[66208,66271]],br=[[66864,66927]],Sr=[[69888,69967]],Tr=[[43520,43615]],vr=[[5024,5119]],yr=[[43888,43967]],Br=[[129536,129647]],Or=[[768,879]],wr=[[6832,6911]],Ar=[[8400,8447]],Rr=[[7616,7679]],Ir=[[65056,65071]],xr=[[43056,43071]],Mr=[[9216,9279]],Pr=[[11392,11519]],Lr=[[66272,66303]],$r=[[119648,119679]],Nr=[[73728,74751]],kr=[[74752,74879]],Hr=[[8352,8399]],Xr=[[67584,67647]],Yr=[[1024,1279]],zr=[[11744,11775]],Wr=[[42560,42655]],jr=[[7296,7311]],Gr=[[1280,1327]],Ur=[[66560,66639]],Vr=[[2304,2431]],Kr=[[43232,43263]],Jr=[[9984,10175]],Zr=[[71680,71759]],qr=[[127024,127135]],Qr=[[113664,113823]],to=[[74880,75087]],eo=[[77824,78895]],no=[[66816,66863]],so=[[128512,128591]],io=[[127232,127487]],ro=[[9312,9471]],oo=[[12800,13055]],ao=[[127488,127743]],uo=[[4608,4991]],co=[[11648,11743]],lo=[[43776,43823]],ho=[[4992,5023]],Do=[[8192,8303]],_o=[[9632,9727]],fo=[[128896,129023]],go=[[4256,4351]],po=[[7312,7359]],mo=[[11520,11567]],Fo=[[11264,11359]],Co=[[122880,122927]],Eo=[[66352,66383]],bo=[[70400,70527]],So=[[880,1023]],To=[[7936,8191]],vo=[[2688,2815]],yo=[[73056,73135]],Bo=[[2560,2687]],Oo=[[65280,65519]],wo=[[12592,12687]],Ao=[[4352,4607]],Ro=[[43360,43391]],Io=[[55216,55295]],xo=[[44032,55215]],Mo=[[68864,68927]],Po=[[5920,5951]],Lo=[[67808,67839]],$o=[[1424,1535]],No=[[56192,56319]],ko=[[55296,56191]],Ho=[[12352,12447]],Xo=[[592,687]],Yo=[[12272,12287]],zo=[[94176,94207]],Wo=[[67648,67679]],jo=[[126064,126143]],Go=[[68448,68479]],Uo=[[68416,68447]],Vo=[[43392,43487]],Ko=[[69760,69839]],Jo=[[110848,110895]],Zo=[[110592,110847]],qo=[[12688,12703]],Qo=[[12032,12255]],ta=[[3200,3327]],ea=[[12448,12543]],na=[[12784,12799]],sa=[[43264,43311]],ia=[[68096,68191]],ra=[[6016,6143]],oa=[[6624,6655]],aa=[[70144,70223]],ua=[[70320,70399]],ca=[[3712,3839]],la=[[128,255]],ha=[[256,383]],Da=[[7680,7935]],_a=[[384,591]],da=[[11360,11391]],fa=[[42784,43007]],ga=[[43824,43887]],pa=[[7168,7247]],ma=[[8448,8527]],Fa=[[6400,6479]],Ca=[[67072,67455]],Ea=[[65664,65791]],ba=[[65536,65663]],Sa=[[42192,42239]],Ta=[[56320,57343]],va=[[66176,66207]],ya=[[67872,67903]],Ba=[[69968,70015]],Oa=[[126976,127023]],wa=[[73440,73471]],Aa=[[3328,3455]],Ra=[[2112,2143]],Ia=[[68288,68351]],xa=[[72816,72895]],Ma=[[72960,73055]],Pa=[[119808,120831]],La=[[8704,8959]],$a=[[119520,119551]],Na=[[93760,93855]],ka=[[43968,44031]],Ha=[[43744,43775]],Xa=[[124928,125151]],Ya=[[68e3,68095]],za=[[67968,67999]],Wa=[[93952,94111]],ja=[[10176,10223]],Ga=[[10624,10751]],Ua=[[9728,9983]],Va=[[11008,11263]],Ka=[[127744,128511]],Ja=[[8960,9215]],Za=[[71168,71263]],qa=[[42752,42783]],Qa=[[6144,6319]],tu=[[71264,71295]],eu=[[92736,92783]],nu=[[70272,70319]],su=[[119040,119295]],iu=[[4096,4255]],ru=[[43616,43647]],ou=[[43488,43519]],au=[[1984,2047]],uu=[[67712,67759]],cu=[[6528,6623]],lu=[[70656,70783]],hu=[[8528,8591]],Du=[[110960,111359]],_u=[[5760,5791]],du=[[7248,7295]],fu=[[68736,68863]],gu=[[66304,66351]],pu=[[68224,68255]],mu=[[66384,66431]],Fu=[[66464,66527]],Cu=[[69376,69423]],Eu=[[68192,68223]],bu=[[68608,68687]],Su=[[9280,9311]],Tu=[[2816,2943]],vu=[[128592,128639]],yu=[[66736,66815]],Bu=[[66688,66735]],Ou=[[92928,93071]],wu=[[67680,67711]],Au=[[72384,72447]],Ru=[[43072,43135]],Iu=[[66e3,66047]],xu=[[67840,67871]],Mu=[[7424,7551]],Pu=[[7552,7615]],Lu=[[127136,127231]],$u=[[57344,63743]],Nu=[[68480,68527]],ku=[[43312,43359]],Hu=[[69216,69247]],Xu=[[5792,5887]],Yu=[[2048,2111]],zu=[[43136,43231]],Wu=[[70016,70111]],ju=[[66640,66687]],Gu=[[113824,113839]],Uu=[[71040,71167]],Vu=[[3456,3583]],Ku=[[70112,70143]],Ju=[[65104,65135]],Zu=[[69424,69487]],qu=[[69840,69887]],Qu=[[72272,72367]],tc=[[688,767]],ec=[[65520,65535]],nc=[[7040,7103]],sc=[[7360,7375]],ic=[[8304,8351]],rc=[[10224,10239]],oc=[[10496,10623]],ac=[[129024,129279]],uc=[[10752,11007]],cc=[[11776,11903]],lc=[[129280,129535]],hc=[[983040,1048575]],Dc=[[1048576,1114111]],_c=[[120832,121519]],dc=[[43008,43055]],fc=[[1792,1871]],gc=[[2144,2159]],pc=[[5888,5919]],mc=[[5984,6015]],Fc=[[917504,917631]],Cc=[[6480,6527]],Ec=[[6688,6831]],bc=[[43648,43743]],Sc=[[119552,119647]],Tc=[[71296,71375]],vc=[[2944,3071]],yc=[[94208,100351]],Bc=[[100352,101119]],Oc=[[3072,3199]],wc=[[1920,1983]],Ac=[[3584,3711]],Rc=[[3840,4095]],Ic=[[11568,11647]],xc=[[70784,70879]],Mc=[[128640,128767]],Pc=[[66432,66463]],Lc=[[5120,5759]],$c=[[6320,6399]],Nc=[[42240,42559]],kc=[[65024,65039]],Hc=[[917760,917999]],Xc=[[7376,7423]],Yc=[[65040,65055]],zc=[[71840,71935]],Wc=[[42128,42191]],jc=[[40960,42127]],Gc=[[19904,19967]],Uc=[[72192,72271]],Vc=[[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]],Kc=Object.freeze(Object.defineProperty({__proto__:null,Adlam:yi,Aegean_Numbers:Bi,Ahom:Oi,Alchemical_Symbols:wi,Alphabetic_Presentation_Forms:Ai,Anatolian_Hieroglyphs:Ri,Ancient_Greek_Musical_Notation:Ii,Ancient_Greek_Numbers:xi,Ancient_Symbols:Mi,Arabic:Pi,Arabic_Extended_A:Li,Arabic_Mathematical_Alphabetic_Symbols:$i,Arabic_Presentation_Forms_A:Ni,Arabic_Presentation_Forms_B:ki,Arabic_Supplement:Hi,Armenian:Xi,Arrows:Yi,Avestan:zi,Balinese:Wi,Bamum:ji,Bamum_Supplement:Gi,Basic_Latin:Ui,Bassa_Vah:Vi,Batak:Ki,Bengali:Ji,Bhaiksuki:Zi,Block_Elements:qi,Bopomofo:Qi,Bopomofo_Extended:tr,Box_Drawing:er,Brahmi:nr,Braille_Patterns:sr,Buginese:ir,Buhid:rr,Byzantine_Musical_Symbols:or,CJK_Compatibility:ar,CJK_Compatibility_Forms:ur,CJK_Compatibility_Ideographs:cr,CJK_Compatibility_Ideographs_Supplement:lr,CJK_Radicals_Supplement:hr,CJK_Strokes:Dr,CJK_Symbols_And_Punctuation:_r,CJK_Unified_Ideographs:dr,CJK_Unified_Ideographs_Extension_A:fr,CJK_Unified_Ideographs_Extension_B:gr,CJK_Unified_Ideographs_Extension_C:pr,CJK_Unified_Ideographs_Extension_D:mr,CJK_Unified_Ideographs_Extension_E:Fr,CJK_Unified_Ideographs_Extension_F:Cr,Carian:Er,Caucasian_Albanian:br,Chakma:Sr,Cham:Tr,Cherokee:vr,Cherokee_Supplement:yr,Chess_Symbols:Br,Combining_Diacritical_Marks:Or,Combining_Diacritical_Marks_Extended:wr,Combining_Diacritical_Marks_For_Symbols:Ar,Combining_Diacritical_Marks_Supplement:Rr,Combining_Half_Marks:Ir,Common_Indic_Number_Forms:xr,Control_Pictures:Mr,Coptic:Pr,Coptic_Epact_Numbers:Lr,Counting_Rod_Numerals:$r,Cuneiform:Nr,Cuneiform_Numbers_And_Punctuation:kr,Currency_Symbols:Hr,Cypriot_Syllabary:Xr,Cyrillic:Yr,Cyrillic_Extended_A:zr,Cyrillic_Extended_B:Wr,Cyrillic_Extended_C:jr,Cyrillic_Supplement:Gr,Deseret:Ur,Devanagari:Vr,Devanagari_Extended:Kr,Dingbats:Jr,Dogra:Zr,Domino_Tiles:qr,Duployan:Qr,Early_Dynastic_Cuneiform:to,Egyptian_Hieroglyphs:eo,Elbasan:no,Emoticons:so,Enclosed_Alphanumeric_Supplement:io,Enclosed_Alphanumerics:ro,Enclosed_CJK_Letters_And_Months:oo,Enclosed_Ideographic_Supplement:ao,Ethiopic:uo,Ethiopic_Extended:co,Ethiopic_Extended_A:lo,Ethiopic_Supplement:ho,General_Punctuation:Do,Geometric_Shapes:_o,Geometric_Shapes_Extended:fo,Georgian:go,Georgian_Extended:po,Georgian_Supplement:mo,Glagolitic:Fo,Glagolitic_Supplement:Co,Gothic:Eo,Grantha:bo,Greek_And_Coptic:So,Greek_Extended:To,Gujarati:vo,Gunjala_Gondi:yo,Gurmukhi:Bo,Halfwidth_And_Fullwidth_Forms:Oo,Hangul_Compatibility_Jamo:wo,Hangul_Jamo:Ao,Hangul_Jamo_Extended_A:Ro,Hangul_Jamo_Extended_B:Io,Hangul_Syllables:xo,Hanifi_Rohingya:Mo,Hanunoo:Po,Hatran:Lo,Hebrew:$o,High_Private_Use_Surrogates:No,High_Surrogates:ko,Hiragana:Ho,IPA_Extensions:Xo,Ideographic_Description_Characters:Yo,Ideographic_Symbols_And_Punctuation:zo,Imperial_Aramaic:Wo,Indic_Siyaq_Numbers:jo,Inscriptional_Pahlavi:Go,Inscriptional_Parthian:Uo,Javanese:Vo,Kaithi:Ko,Kana_Extended_A:Jo,Kana_Supplement:Zo,Kanbun:qo,Kangxi_Radicals:Qo,Kannada:ta,Katakana:ea,Katakana_Phonetic_Extensions:na,Kayah_Li:sa,Kharoshthi:ia,Khmer:ra,Khmer_Symbols:oa,Khojki:aa,Khudawadi:ua,Lao:ca,Latin_1_Supplement:la,Latin_Extended_A:ha,Latin_Extended_Additional:Da,Latin_Extended_B:_a,Latin_Extended_C:da,Latin_Extended_D:fa,Latin_Extended_E:ga,Lepcha:pa,Letterlike_Symbols:ma,Limbu:Fa,Linear_A:Ca,Linear_B_Ideograms:Ea,Linear_B_Syllabary:ba,Lisu:Sa,Low_Surrogates:Ta,Lycian:va,Lydian:ya,Mahajani:Ba,Mahjong_Tiles:Oa,Makasar:wa,Malayalam:Aa,Mandaic:Ra,Manichaean:Ia,Marchen:xa,Masaram_Gondi:Ma,Mathematical_Alphanumeric_Symbols:Pa,Mathematical_Operators:La,Mayan_Numerals:$a,Medefaidrin:Na,Meetei_Mayek:ka,Meetei_Mayek_Extensions:Ha,Mende_Kikakui:Xa,Meroitic_Cursive:Ya,Meroitic_Hieroglyphs:za,Miao:Wa,Miscellaneous_Mathematical_Symbols_A:ja,Miscellaneous_Mathematical_Symbols_B:Ga,Miscellaneous_Symbols:Ua,Miscellaneous_Symbols_And_Arrows:Va,Miscellaneous_Symbols_And_Pictographs:Ka,Miscellaneous_Technical:Ja,Modi:Za,Modifier_Tone_Letters:qa,Mongolian:Qa,Mongolian_Supplement:tu,Mro:eu,Multani:nu,Musical_Symbols:su,Myanmar:iu,Myanmar_Extended_A:ru,Myanmar_Extended_B:ou,NKo:au,Nabataean:uu,New_Tai_Lue:cu,Newa:lu,Number_Forms:hu,Nushu:Du,Ogham:_u,Ol_Chiki:du,Old_Hungarian:fu,Old_Italic:gu,Old_North_Arabian:pu,Old_Permic:mu,Old_Persian:Fu,Old_Sogdian:Cu,Old_South_Arabian:Eu,Old_Turkic:bu,Optical_Character_Recognition:Su,Oriya:Tu,Ornamental_Dingbats:vu,Osage:yu,Osmanya:Bu,Pahawh_Hmong:Ou,Palmyrene:wu,Pau_Cin_Hau:Au,Phags_Pa:Ru,Phaistos_Disc:Iu,Phoenician:xu,Phonetic_Extensions:Mu,Phonetic_Extensions_Supplement:Pu,Playing_Cards:Lu,Private_Use_Area:$u,Psalter_Pahlavi:Nu,Rejang:ku,Rumi_Numeral_Symbols:Hu,Runic:Xu,Samaritan:Yu,Saurashtra:zu,Sharada:Wu,Shavian:ju,Shorthand_Format_Controls:Gu,Siddham:Uu,Sinhala:Vu,Sinhala_Archaic_Numbers:Ku,Small_Form_Variants:Ju,Sogdian:Zu,Sora_Sompeng:qu,Soyombo:Qu,Spacing_Modifier_Letters:tc,Specials:ec,Sundanese:nc,Sundanese_Supplement:sc,Superscripts_And_Subscripts:ic,Supplemental_Arrows_A:rc,Supplemental_Arrows_B:oc,Supplemental_Arrows_C:ac,Supplemental_Mathematical_Operators:uc,Supplemental_Punctuation:cc,Supplemental_Symbols_And_Pictographs:lc,Supplementary_Private_Use_Area_A:hc,Supplementary_Private_Use_Area_B:Dc,Sutton_SignWriting:_c,Syloti_Nagri:dc,Syriac:fc,Syriac_Supplement:gc,Tagalog:pc,Tagbanwa:mc,Tags:Fc,Tai_Le:Cc,Tai_Tham:Ec,Tai_Viet:bc,Tai_Xuan_Jing_Symbols:Sc,Takri:Tc,Tamil:vc,Tangut:yc,Tangut_Components:Bc,Telugu:Oc,Thaana:wc,Thai:Ac,Tibetan:Rc,Tifinagh:Ic,Tirhuta:xc,Transport_And_Map_Symbols:Mc,Ugaritic:Pc,Unified_Canadian_Aboriginal_Syllabics:Lc,Unified_Canadian_Aboriginal_Syllabics_Extended:$c,Vai:Nc,Variation_Selectors:kc,Variation_Selectors_Supplement:Hc,Vedic_Extensions:Xc,Vertical_Forms:Yc,Warang_Citi:zc,Yi_Radicals:Wc,Yi_Syllables:jc,Yijing_Hexagram_Symbols:Gc,Zanabazar_Square:Uc,undefined:Vc},Symbol.toStringTag,{value:"Module"})),Jc=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Zc=[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],qc=[[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]],Qc=[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],tl=Object.freeze(Object.defineProperty({__proto__:null,Close:Zc,None:qc,Open:Qc},Symbol.toStringTag,{value:"Module"})),el=[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]],nl=[[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]],sl=[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]],il=[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],rl=[8212,[11834,11835]],ol=[47],al=[13],ul=[41,93],cl=[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],ll=[[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]],hl=[[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]],Dl=[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]],_l=[65532],dl=[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]],fl=[[127995,127999]],gl=[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],pl=[160,847,[860,866],3848,3852,3858,[4057,4058],6158,7629,7676,8199,8209,8239,[78896,78902],[78905,78907],94180],ml=[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],Fl=[[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]],Cl=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],El=[45],bl=[[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]],Sl=[44,46,[58,59],894,1417,[1548,1549],2040,8260,65040,[65043,65044]],Tl=[[8228,8230],8943,65049,68342],vl=[[4352,4447],[43360,43388]],yl=[[4520,4607],[55243,55291]],Bl=[[4448,4519],[55216,55238]],Ol=[10],wl=[[11,12],[8232,8233]],Al=[133],Rl=[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]],Il=[[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]],xl=[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]],Ml=[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],Pl=[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],Ll=[34,39,171,187,[8216,8217],[8219,8221],8223,[8249,8250],[10075,10080],[11776,11789],[11804,11805],[11808,11809],[128630,128632]],$l=[[127462,127487]],Nl=[32],kl=[[55296,57343]],Hl=[[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]],Xl=[8288,65279],Yl=[8205],zl=[8203],Wl=Object.freeze(Object.defineProperty({__proto__:null,Alphabetic:el,Ambiguous:nl,Break_After:sl,Break_Before:il,Break_Both:rl,Break_Symbols:ol,Carriage_Return:al,Close_Parenthesis:ul,Close_Punctuation:cl,Combining_Mark:ll,Complex_Context:hl,Conditional_Japanese_Starter:Dl,Contingent_Break:_l,E_Base:dl,E_Modifier:fl,Exclamation:gl,Glue:pl,H2:ml,H3:Fl,Hebrew_Letter:Cl,Hyphen:El,Ideographic:bl,Infix_Numeric:Sl,Inseparable:Tl,JL:vl,JT:yl,JV:Bl,Line_Feed:Ol,Mandatory_Break:wl,Next_Line:Al,Nonstarter:Rl,Numeric:Il,Open_Punctuation:xl,Postfix_Numeric:Ml,Prefix_Numeric:Pl,Quotation:Ll,Regional_Indicator:$l,Space:Nl,Surrogate:kl,Unknown:Hl,Word_Joiner:Xl,ZWJ:Yl,ZWSpace:zl},Symbol.toStringTag,{value:"Module"})),jl=[[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]],Gl=[13],Ul=[34],Vl=[[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]],Kl=[95,8239,[8255,8256],8276,[65075,65076],[65101,65103],65343],Jl=[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],Zl=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],ql=[[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]],Ql=[10],th=[58,183,903,1375,1524,8231,65043,65109,65306],eh=[44,59,894,1417,[1548,1549],1644,2040,8260,65040,65044,65104,65108,65292,65307],nh=[46,[8216,8217],8228,65106,65287,65294],sh=[[11,12],133,[8232,8233]],ih=[[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]],rh=[[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]],oh=[[127462,127487]],ah=[39],uh=[32,5760,[8192,8198],[8200,8202],8287,12288],ch=[8205],lh=Object.freeze(Object.defineProperty({__proto__:null,ALetter:jl,CR:Gl,Double_Quote:Ul,Extend:Vl,ExtendNumLet:Kl,Format:Jl,Hebrew_Letter:Zl,Katakana:ql,LF:Ql,MidLetter:th,MidNum:eh,MidNumLet:nh,Newline:sh,Numeric:ih,Other:rh,Regional_Indicator:oh,Single_Quote:ah,WSegSpace:uh,ZWJ:ch},Symbol.toStringTag,{value:"Module"})),hh=Object.freeze(Object.defineProperty({__proto__:null,Bidi_Class:f3,Bidi_Mirroring_Glyph:Jc,Bidi_Paired_Bracket_Type:tl,Binary_Property:o0,Block:Kc,Case_Folding:vi,General_Category:j0,Line_Break:Wl,Script:p5,Script_Extensions:Ci,Word_Break:lh},Symbol.toStringTag,{value:"Module"}));function Z7(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=>Dh(e,o));return new T1().union(...i)}).reduce((e,s)=>e.intersect(s))}function Dh(r,n){const e=hh[r][n];return new T1().union(...e)}const M6=Z7({Script:["Han","Katakana","Hiragana","Hangul","Bopomofo"],General_Category:["Other_Letter","Letter_Number","Other_Symbol","Modifier_Letter"]}),q7=Z7({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(M6),_h=J2(M6,q7);function dh(){return J2(_h)}function fh(){return J2(M6)}function gh(){return J2(q7)}const p7=r=>({sbr:.5,sbo:r,spr:.5,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 c=s-n/2;this._clearMeasureCache(c,a);break}this._globalFontMeasureCache.delete(o)}return!0}return!1}static getBaselineOffsetInfo(n,t){if(this._fontDataMap.size===0)return p7(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:c,superscriptOffset:u}=i;return{sbr:o,sbo:a*t,spr:c,spo:u*t}}return p7(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:c,actualBoundingBoxAscent:u,actualBoundingBoxDescent:l}=i,D={width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:c,actualBoundingBoxAscent:u,actualBoundingBoxDescent:l};if(a==null||c==null||Number.isNaN(a)||Number.isNaN(c)){const f=this.getTextSizeByDom(U7,t).height;e.textBaseline==="top"?(D.fontBoundingBoxAscent=D.actualBoundingBoxAscent=f,D.fontBoundingBoxDescent=D.actualBoundingBoxDescent=0):e.textBaseline==="middle"?(D.fontBoundingBoxDescent=D.actualBoundingBoxDescent=f/2,D.fontBoundingBoxAscent=D.actualBoundingBoxAscent=f/2):(D.fontBoundingBoxDescent=D.actualBoundingBoxDescent=0,D.fontBoundingBoxAscent=D.actualBoundingBoxAscent=f)}return this.setFontMeasureCache(t,n,D),D}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:c,typoDescender:u,strikeoutPosition:l,subscriptSizeRatio:D,subscriptOffset:f,superscriptSizeRatio:p,superscriptOffset:C,hdmxData:m,glyphHorizonMap:F}=s,b=m==null?void 0:m.indexOf(Math.floor(t)),S=F.get(e.charCodeAt(0));let T=i;if(S){const{width:v,pixelsPerEm:O=[]}=S;b?T=O[b]:T=v}return{width:T*t,ba:o*t,bd:a*t,aba:c*t,abd:u*t,sp:l*t,sbr:D,sbo:f*t,spr:p,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:.5,sbo:t,spr:.5,spo:t}}}h(M1,"_getTextHeightCache",{}),h(M1,"_context"),h(M1,"_fontDataMap",new Map),h(M1,"_globalFontMeasureCache",new Map);const Q7=180,ph=Math.PI/Q7,mh=Q7/Math.PI,m7="rgb(",Fh="rgba(",c1=(r,n)=>r?n!=null?`${Fh+r.join(",")},${n})`:`${m7+r.join(",")})`:`${m7}0,0,0)`,Ch=100,R1=(r,n)=>{if(_.Tools.isNumber(r))return r;if(n&&r&&_.Tools.isString(r)&&r.substr(r.length-1,1)==="%"){const t=Number.parseFloat(r)/Ch;return n*t}return 0},Eh=16,C2=(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,Eh)),t4=(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)),P6=()=>{const r=document.createElement("canvas");try{r.style=r.style||{}}catch(n){console.error(n)}return r},bh=()=>document.createElement("img"),e4=r=>r*mh,v1=r=>r*ph,m6=()=>{let r="pointer";return typeof window<"u"&&!window.PointerEvent&&typeof navigator<"u"&&(r="mouse"),_.Tools.isTablet()&&!_.Tools.isIPhone()&&!(document&&"ontouchend"in document)&&(r="mouse"),r},n4=()=>_.Tools.getBrowserType()==="safari",Sh=4,s4=(r="obj",n=Sh)=>{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 N1(r){return Object.prototype.toString.apply(r)}function L6(r){return N1(r)==="[object Function]"}function Th(r){return N1(r)==="[object Date]"}function vh(r){return N1(r)==="[object RegExp]"}function yh(r){return N1(r)==="[object Array]"}function F6(r){return N1(r)==="[object String]"}function Bh(r){return N1(r)==="[object Number]"}function Oh(r){return N1(r)==="[object Object]"}function Y2(r,n){return n=10**n,Math.round(r*n)/n}function z(r,n){return Math.round(r*n)/n}const i4=11,r4="Arial";function E2(r,n){const t=r4,e=i4;if(!r){const D=`${e}pt ${t}`;return{fontCache:D,fontString:D,fontSize:e,fontFamily:t}}let s=_.FontStyleType.ITALIC;(r.it===0||r.it===void 0)&&(s=_.FontStyleType.NORMAL);let i=_.FontStyleType.BOLD;(r.bl===0||r.bl===void 0)&&(i=_.FontStyleType.NORMAL);let o=e;r.fs&&(o=Math.ceil(r.fs));let a=t;if(r.ff){let D=r.ff;D=D.replace(/"/g,"").replace(/'/g,""),D.indexOf(" ")>-1&&(D=`"${D}"`),D==null&&(D=t),a=D}const{va:c}=r;if(c===_.BaselineOffset.SUBSCRIPT||c===_.BaselineOffset.SUPERSCRIPT){const D=M1.getBaselineOffsetInfo(a,o),{sbr:f,spr:p}=D;o*=c===_.BaselineOffset.SUBSCRIPT?f:p}const u=`${s} ${i} ${o}pt ${a}`,l=`${u}, ${K2} `;return{fontCache:u,fontString:l,fontSize:o,fontFamily:a}}const wh=fh().toRegExp();function b2(r){return wh.test(r)}const Ah=dh().toRegExp();function w2(r){return Ah.test(r)}const Rh=gh().toRegExp();function C6(r){return Rh.test(r)}function Ih(r){return!!/[\u0000-\u024F]/gi.exec(r)}function xh(r){return!!/[\u0000-\u007F]/gi.exec(r)}function Mh(r){return!!/[\u0080-\u00FF]/gi.exec(r)}function Ph(r){return!!/[\u0100-\u017F]/gi.exec(r)}function Lh(r){return!!/[\u0180-\u024F]/gi.exec(r)}const o4=/^(?:[#*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,$h=/^(?:[#*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 $6(r){return $h.test(r)}function N6(r){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(r)}function k6(r){return/[\u0180-\u024F]/gi.test(r)}function a4(r){return/\s+/g.test(r)}function Z2(r){return["”","’",",","。",".","、",":",";","?","!","》",")","』","」","】","〗","〕","〉","]","}"].indexOf(r)>-1}function q2(r){return["“","‘","《","(","『","「","【","〖","〔","〈","[","{"].indexOf(r)>-1}function H6(r){return["・","·"].indexOf(r)>-1}const F7=1e3;let P2;function A2(){if(P2)return P2;let r=56;for(;r<F7*2;r++)if(matchMedia(`(max-resolution: ${r}dpi)`).matches===!0)return r;return P2=r,setTimeout(()=>{P2=null},F7),r}const u4=72,Nh=25.4;function kh(r){return r/(u4/A2())}function Hh(r){return r*(u4/A2())}function Xh(r){return r*(A2()/Nh)}function Yh(r){return r*A2()}function X6(r){const{scaleX:n=1,scaleY:t=1}=r;return Math.max(n,t)}function W1(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 c=e[i]||0;let u=e[n];return u==null&&(u=e[e.length-1]),{startY:o,endY:a,startX:c,endX:u}}function s2(r,n,t,e,s){let{startY:i,endY:o,startX:a,endX:c}=W1(r,n,t,e);const{isMerged:u,isMergedMainCell:l,startRow:D,startColumn:f,endRow:p,endColumn:C}=S2(r,n,s);let m={startRow:D,startColumn:f,endRow:p,endColumn:C,startY:0,endY:0,startX:0,endX:0};const F=t.length-1,b=e.length-1;if(u&&D!==-1&&f!==-1){const S=t[D-1]||0,T=t[p]||t[F],v=e[f-1]||0,O=e[C]||e[b];m={...m,startY:S,endY:T,startX:v,endX:O}}else if(!u&&p!==-1&&C!==-1){const S=t[p]||t[F],T=e[C]||e[b];m={...m,startY:i,endY:S,startX:a,endX:T}}return{isMerged:u,isMergedMainCell:l,actualRow:r,actualColumn:n,startY:i,endY:o,startX:a,endX:c,mergeInfo:m}}function S2(r,n,t){let e=!1,s=!1,i=r,o=n,a=r,c=n;if(t==null)return{actualRow:r,actualColumn:n,isMergedMainCell:s,isMerged:e,endRow:i,endColumn:o,startRow:a,startColumn:c};for(let u=0;u<t.length;u++){const{startRow:l,endRow:D,startColumn:f,endColumn:p}=t[u];if(r===l&&n===f){i=D,o=p,a=l,c=f,s=!0;break}if(r>=l&&r<=D&&n>=f&&n<=p){i=D,o=p,a=l,c=f,e=!0;break}}return{actualRow:r,actualColumn:n,isMergedMainCell:s,isMerged:e,endRow:i,endColumn:o,startRow:a,startColumn:c}}function c4(r,n,t,e){let s=!1;for(let i=n;i<=t;i++){const{isMerged:o,isMergedMainCell:a}=S2(r,i,e);if(!o&&!a){s=!0;break}}return s}function E6(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 l4(r,n){return!(r.left>n.right||r.top>n.bottom||n.left>r.right||n.top>r.bottom)}function zh(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 Wh(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 z1(r){return Number(r.replace(/px/gi,""))}function h4(r){const n=getComputedStyle(r),{borderTopWidth:t,borderLeftWidth:e,borderRightWidth:s,borderBottomWidth:i,width:o,height:a}=n;return{top:z1(t),left:z1(e),right:z1(s),bottom:z1(i),width:z1(o),height:z1(a)}}const D4=.75;function jh(r){return r/D4}function Gh(r){return r*D4}class x{constructor(n=0,t=0){this.x=n,this.y=t}static Zero(){return new x(0,0)}static One(){return new x(1,1)}static FromArray(n,t=0){return new x(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,c=.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 x(c,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 x(s,i)}static Hermite(n,t,e,s,i){const o=i*i,a=i*o,c=2*a-3*o+1,u=-2*a+3*o,l=a-2*o+i,D=a-o,f=n.x*c+e.x*u+t.x*l+s.x*D,p=n.y*c+e.y*u+t.y*l+s.y*D;return new x(f,p)}static Hermite1stDerivative(n,t,e,s,i){const o=x.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 x(s,i)}static Dot(n,t){return n.x*t.x+n.y*t.y}static Normalize(n){const t=x.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 x(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 x(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,c=(t.x*e.y-t.y*e.x+(t.y-e.y)*n.x+(e.x-t.x)*n.y)*o;return a>0&&c>0&&a+c<2*i*o}static Distance(n,t){return Math.sqrt(x.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 x.CenterToRef(n,t,x.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=x.DistanceSquared(t,e);if(s===0)return x.Distance(n,t);const i=e.subtract(t),o=Math.max(0,Math.min(1,x.Dot(n.subtract(t),i)/s)),a=t.add(i.multiplyByFloats(o,o));return x.Distance(n,a)}static create(n,t){return new x(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 x.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 x(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 x(this.x+n,this.y+t)}addInPlace(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return new x(this.x-n.x,this.y-n.y)}subtractByPoint(n,t){return new x(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 x(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 x(this.x*n,this.y*t)}divide(n){return new x(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 x(-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 x(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 x(Math.floor(this.x),Math.floor(this.y))}fract(){return new x(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=x.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 x.NormalizeToRef(this,this),this}clone(){return new x(this.x,this.y)}}const $2=[1,0,0,1,0,0];class i1{constructor(n=$2){h(this,"dirty",!1);h(this,"_m");this._m=n&&n.slice()||$2}static create(n=$2){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 i1(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 x(s,i):new x(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=v1(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,c=this._m[1]*-s+this._m[3]*e;return this._m[0]=i,this._m[1]=o,this._m[2]=a,this._m[3]=c,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=>Y2(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],c=(t*(n.y-a)-e*(n.x-o))/(t*i-e*s),u=(n.x-o-s*c)/t;return this.translate(u,c)}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,c={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);c.angle=t>0?Math.acos(n/u):-Math.acos(n/u),c.scaleX=u,c.scaleY=a/u,c.skewX=(n*e+t*s)/a,c.skewY=0}else if(e!==0||s!==0){const u=Math.sqrt(e*e+s*s);c.angle=Math.PI/2-(s>0?Math.acos(-e/u):-Math.acos(e/u)),c.scaleX=a/u,c.scaleY=u,c.skewX=0,c.skewY=(n*e+t*s)/a}return c.angle=e4(c.angle),c}makeBoundingBoxFromPoints(n){if(this)for(let l=0;l<n.length;l++)n[l]=this.applyPoint(n[l]);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 i1([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 i1([...this._m])}_calcDimensionsMatrix(n){var i,o;const t=(i=n.scaleX)!=null?i:1,e=(o=n.scaleY)!=null?o:1,s=new i1([n.flipX?-t:t,0,0,n.flipY?-e:e,0,0]);return n.skewX&&s.multiply(new i1([1,0,Math.tan(v1(n.skewX)),1,0,0])),n.skewY&&s.multiply(new i1([1,Math.tan(v1(n.skewY)),0,1,0,0])),s}}const z2=["top","left","width","height","angle","scaleX","scaleY","skewX","skewY","flipX","flipY","strokeWidth"];class I1{constructor(n){h(this,"groupKey");h(this,"isInGroup",!1);h(this,"onTransformChangeObservable",new _.Observable);h(this,"onPointerDownObserver",new _.Observable);h(this,"onPointerMoveObserver",new _.Observable);h(this,"onPointerUpObserver",new _.Observable);h(this,"onDblclickObserver",new _.Observable);h(this,"onTripleClickObserver",new _.Observable);h(this,"onMouseWheelObserver",new _.Observable);h(this,"onPointerOutObserver",new _.Observable);h(this,"onPointerLeaveObserver",new _.Observable);h(this,"onPointerOverObserver",new _.Observable);h(this,"onPointerEnterObserver",new _.Observable);h(this,"onIsAddedToParentObserver",new _.Observable);h(this,"onDisposeObserver",new _.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 i1);h(this,"_cursor",n1.DEFAULT);h(this,"_isTransformer",!1);h(this,"_forceRender",!1);h(this,"_layer");n?this._oKey=n:this._oKey=s4()}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 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=R1(n,(t=this._parent)==null?void 0:t.height)}set left(n){var t;this._leftOrigin=n,this._left=R1(n,(t=this._parent)==null?void 0:t.width)}set width(n){var t;this._widthOrigin=n,this._width=R1(n,(t=this._parent)==null?void 0:t.width)}set height(n){var t;this._heightOrigin=n,this._height=R1(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=_.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 z2.forEach(t=>{this[t]&&(n[t]=this[t])}),n}getScene(){let n=this.parent;if(n!=null){if(n.classType===k.SCENE)return n;for(;n;){if(n.classType===k.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===k.ENGINE)return n;n=n.getParent()}return null}getObjects(){return[]}_getInverseCoord(n){return this._transform.clone().invert().applyPoint(n)}_setTransForm(){const n=i1.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 _4=(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))(_4||{}),r2=(r=>(r[r.SECTION=0]="SECTION",r[r.PAGE=1]="PAGE",r[r.COLUMN=2]="COLUMN",r))(r2||{}),R2=(r=>(r[r.PARAGRAPH=0]="PARAGRAPH",r[r.BLOCK=1]="BLOCK",r))(R2||{}),h1=(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))(h1||{}),y1=(r=>(r[r.VERTICAL=0]="VERTICAL",r[r.HORIZONTAL=1]="HORIZONTAL",r[r.AUTO=2]="AUTO",r))(y1||{});function Uh(r){var e;const n=r==null?void 0:r.parent;return n==null?!1:((e=n.glyphGroup[0])==null?void 0:e.glyphType)===h1.LIST}function Vh(r,n){const t=d4(r,n);if(t==null)return!1;const{paragraphStyle:e}=t;return e==null?!1:_.checkParagraphHasIndentByStyle(e)}function Kh(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 Jh(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===h1.LIST)return!0}return!1}function d4(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 Zh(r){return r==null?!1:[_.DataStreamTreeTokenType.PARAGRAPH,_.DataStreamTreeTokenType.TAB,_.DataStreamTreeTokenType.SECTION_BREAK].indexOf(r.streamType)!==-1||r.content===_.DataStreamTreeTokenType.SPACE}function qh(r,n){return r==null||n==null||r.parent==null||n.parent==null?!1:r.parent.parent===n.parent.parent}function Y6(){let r=1;const t=P6().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 z6(r,n,t,e){let s=0,i=0,o=0,a=0;const{startX:c,startY:u,endX:l,endY:D}=e;n===Y.TOP?(s=c-t,i=u,o=l+t,a=u):n===Y.BOTTOM?(s=c-t,i=D,o=l-t,a=D):n===Y.LEFT?(s=c,i=u-t,o=c,a=D+t):n===Y.RIGHT&&(s=l,i=u-t,o=l,a=D+t),r.beginPath(),r.moveToByPrecision(s,i),r.lineToByPrecision(o,a),r.closePathByEnv(),r.stroke()}function f4(r,n,t){let e=0,s=0,i=0,o=0;const{startX:a,startY:c,endX:u,endY:l}=t;n===Y.TL_BR?(e=a,s=c,i=u,o=l):n===Y.TL_BC?(e=a,s=c,i=(a+u)/2,o=l):n===Y.TL_MR?(e=a,s=c,i=u,o=(c+l)/2):n===Y.BL_TR?(e=a,s=l,i=u,o=c):n===Y.ML_TR?(e=a,s=(c+l)/2,i=u,o=c):n===Y.BC_TR&&(e=(a+u)/2,s=l,i=u,o=c),r.beginPath(),r.moveToByPrecision(e,s),r.lineToByPrecision(i,o),r.closePathByEnv(),r.stroke()}function Qh(r,n,t){let e=0,s=0,i=0,o=0;const{startX:a,startY:c,endX:u,endY:l}=t;n===Y.TOP?(e=a,s=c,i=u,o=c):n===Y.BOTTOM?(e=a,s=l,i=u,o=l):n===Y.LEFT?(e=a,s=c,i=a,o=l):n===Y.RIGHT&&(e=u,s=c,i=u,o=l),r.beginPath(),r.clearRectForTexture(e,s,i-e,o-s)}function W6(r,n){n===_.BorderStyleTypes.HAIR?r.setLineDash([1,2]):n===_.BorderStyleTypes.DASH_DOT_DOT||n===_.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?r.setLineDash([2,2,5,2,2]):n===_.BorderStyleTypes.DASH_DOT||n===_.BorderStyleTypes.MEDIUM_DASH_DOT||n===_.BorderStyleTypes.SLANT_DASH_DOT?r.setLineDash([2,5,2]):n===_.BorderStyleTypes.DOTTED?r.setLineDash([2]):n===_.BorderStyleTypes.DASHED||n===_.BorderStyleTypes.MEDIUM_DASHED?r.setLineDash([3]):r.setLineDash([0])}function g4(){const r=p4(1);return r-Math.floor(r)}function p4(r){return Math.ceil(r/Y6()*100)/100}function j6(r){let n=1;return r===_.BorderStyleTypes.MEDIUM||r===_.BorderStyleTypes.MEDIUM_DASH_DOT||r===_.BorderStyleTypes.MEDIUM_DASHED||r===_.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?n=2:r===_.BorderStyleTypes.THICK&&(n=3),n}function T2(r,n,t,e,s=x.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 m4(r){return r>0?F2.DOWN:F2.UP}function G6(r,n,t){var C;const e=[];let s=0,i=0,o=0,a=0,c=0;const u=m4(t),l=r.length;t=Math.abs(t);const D=Math.tan(t),f=Math.sin(t),p=Math.cos(t);if(u===F2.UP){let m=0;for(let F=0;F<l;F++){const b=r[F],{lineHeight:S=0}=b;m+=F===0?0:S;const T=n*f+S*p;e.push(m/D),T>i&&(i=T),F===0&&(o+=S*f,c+=S*p)}o+=m/f+n*p,c-=i}else{let m=0,F=-1;const b=[];for(let v=l-1;v>=0;v--){const O=r[v],{lineHeight:y=0}=O,w=y/D,B=(n+w)*f;b.unshift(y/D),B>i&&(i=B,m=w,F=v),v===0?o+=y*f:v===l-1?o+=n*p+y/f:o+=y/f}let S=((C=r[F])==null?void 0:C.lineHeight)||0,T=0;for(let v=F+1;v<=l-1;v++){const O=r[v],{lineHeight:y=0}=O;S+=y,T+=b[v]||0,e[v]=-T}T=0;for(let v=F-1;v>=0;v--){const O=r[v],{lineHeight:y=0}=O;T+=b[v+1]||0,e[v]=T,s+=y}e[F]=0,l===1&&(o+=n*p),a=S/f-m*p}return{rotateTranslateXList:e,rotatedHeight:i,rotatedWidth:o,fixOffsetX:a,fixOffsetY:c,rotateTranslateY:s}}function tD(){const r=.5-g4();return{left:r,top:r}}var F4=(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))(F4||{});class N2{}h(N2,"DOM_DELTA_PIXEL",0),h(N2,"DOM_DELTA_LINE",1),h(N2,"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 C4=[new x(0,0),new x(1,1)];class E4{constructor(n=C4){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],c=this._lines[e],u=this._intersection({from:s,to:i},{from:a,to:c});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),c=(e.x-o.x)*(s.y-o.y)-(e.y-o.y)*(s.x-o.x);if(a*c>=0)return!1;const u=(i.x-e.x)*(o.y-e.y)-(i.y-e.y)*(o.x-e.x),l=u+a-c;if(u*l>=0)return!1;const D=u/(c-a),f=D*(s.x-e.x),p=D*(s.y-e.y);return new x(e.x+f,e.y+p)}}class b4{constructor(n=30){h(this,"_enabled",!0);h(this,"_rollingFrameTime");h(this,"_lastFrameTimeMs");this._rollingFrameTime=new S4(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 S4{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 v2={strokeWidth:1,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:"rgba(0, 0, 0, 0.2)"};var p2=(r=>(r.NONE="none",r.BACKWARD="backward",r.FORWARD="forward",r))(p2||{});function i2(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 l1=90;function d2(r){const{a:n=0,v:t=_.BooleanNumber.FALSE}=r||{a:0,v:_.BooleanNumber.FALSE};let e=0,s=n;return t===_.BooleanNumber.TRUE&&(e=l1,s=l1),{centerAngle:e,vertexAngle:s}}class U6{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=z(n,o),t=z(t,a),e=z(e,o),s=z(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:c}=this._getScale();n=z(n,a),t=z(t,c),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=z(n,o),t=z(t,a),e=z(e,o),s=z(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:c}=this._getScale();i=z(i,a),o=z(o,c),n=z(n,a),t=z(t,c),e=z(e,a),s=z(s,c),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=z(n,i),t=z(t,o),e=z(e,i),s=z(s,o),this.clearRect(n,t,e,s)}clip(...n){this._context.clip(...n)}closePath(){this._context.closePath()}closePathByEnv(){const t=_.Tools.getSystemType()==="Mac",s=_.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,c){this._context.ellipse(n,t,e,s,i,o,a,c)}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=z(n,i),t=z(t,o),e=z(e,i),s=z(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=z(n,i),t=z(t,o),e=z(e,i),s=z(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=z(t,i),e=z(e,o),s?(s=z(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=z(n,e),t=z(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=z(n,e),t=z(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=z(n,i),t=z(t,o),e=z(e,i),s=z(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=z(t,i),e=z(e,o),s&&(s=z(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=z(n,e),t=z(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 eD{}class nD{}class T4 extends U6{}class v4 extends U6{__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=z(n,i),t=z(t,o),e=z(e,i),s=z(s,o),this._context.save(),this._context.fillStyle=c1([255,255,255]),this._context.fillRect(n,t,e,s),this._context.restore()}clearRectForTexture(n,t,e,s){}setGlobalCompositeOperation(n){}}var y4=(r=>(r[r.Rendering=0]="Rendering",r[r.Printing=1]="Printing",r))(y4||{});class c2{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=P6(),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 v4(t):this._context=new T4(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||Y6(),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 sD extends c2{constructor(n={width:0,height:0}){super(n),this.setSize(n.width,n.height)}}class iD extends c2{constructor(t={width:0,height:0}){super(t);h(this,"hitCanvas",!0);this.setSize(t.width,t.height)}}class V6 extends I1{constructor(){super(...arguments);h(this,"_extensions",new Map)}get extensions(){return this._extensions}register(...t){const e=new _.DisposableCollection;for(const s of t)s.parent=this,this._extensions.set(s.uKey,s),e.add(_.toDisposable(()=>{this._extensions.delete(s.uKey)}));return e}getExtensionsByOrder(){const t=Array.from(this._extensions.values());return t.sort(_.sortRules),t}getExtensionByKey(t){return this._extensions.get(t)}draw(t,e){}}class K6{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 X6(n)}}const V1=_.Registry.create(),J6=_.Registry.create(),Z6=_.Registry.create(),l2=_.Registry.create();class q6 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===k.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 Q6 extends q6{_draw(n,t){this.draw(n,t)}}class rD extends Q6{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 c=this.getExtensionsByOrder();for(const u of c)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(){Z6.getData().forEach(t=>{this.register(t)}),this._columnHeaderLayoutExtension=this.getExtensionByKey("DefaultColumnHeaderLayoutExtension")}}var B4=(r=>(r[r.GRID=0]="GRID",r))(B4||{});class k1 extends K6{constructor(){super(...arguments);h(this,"type",0)}getCellIndex(t,e,s,i,o){return s2(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:c}=s;if(_.Rectangle.intersects(s,{startRow:i,endRow:a,startColumn:o,endColumn:c}))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(_.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(_.Rectangle.intersects({startRow:t,endRow:e,startColumn:0,endColumn:0},{startRow:o,endRow:a,startColumn:0,endColumn:0}))return!0}return!1}}const oD="DefaultBackgroundExtension",aD=40,uD=20;let O4=class extends k1{constructor(){super(...arguments);h(this,"uKey",oD);h(this,"Z_INDEX",aD);h(this,"PRINTING_Z_INDEX",uD)}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:c}=o;if(!s)return;const{rowHeightAccumulation:u,columnTotalWidth:l,columnWidthAccumulation:D,rowTotalHeight:f}=s;!u||!D||l===void 0||f===void 0||(t.save(),t.setGlobalCompositeOperation("destination-over"),a&&Object.keys(a).forEach(p=>{const C=a[p];t.fillStyle=p||c1([255,255,255]),t.beginPath(),C.forValue((m,F)=>{const b=c==null?void 0:c.getValue(m,F);if(b==null)return!0;let{startY:S,endY:T,startX:v,endX:O}=b;const{isMerged:y,isMergedMainCell:w,mergeInfo:B}=b;if(y||!this.isRenderDiffRangesByCell({startRow:B.startRow,endRow:B.endRow,startColumn:B.startColumn,endColumn:B.endColumn},i))return!0;w&&(S=B.startY,T=B.endY,v=B.startX,O=B.endX),t.moveToByPrecision(v,S),t.lineToByPrecision(v,T),t.lineToByPrecision(O,T),t.lineToByPrecision(O,S)}),t.closePath(),t.fill()}),t.restore())}};V1.add(O4);const cD="DefaultBorderExtension",lD=50;let w4=class extends k1{constructor(){super(...arguments);h(this,"uKey",cD);h(this,"Z_INDEX",lD)}draw(t,e,s,i){const{dataMergeCache:o,stylesCache:a,overflowCache:c}=s,{border:u}=a;if(!s)return;const{rowHeightAccumulation:l,columnTotalWidth:D,columnWidthAccumulation:f,rowTotalHeight:p}=s;if(!l||!f||D===void 0||p===void 0)return;t.save();let C,m;t.translateWithPrecisionRatio(o1,o1);const F=this._getScale(t.getScale());u==null||u.forValue((b,S,T)=>{if(!T)return!0;const v=this.getCellIndex(b,S,l,f,o),{startY:O,endY:y,startX:w,endX:B}=v,{isMerged:A,isMergedMainCell:I,mergeInfo:R}=v;if(!this.isRenderDiffRangesByRow(R.startRow,R.endRow,i))return!0;for(const L in T){const{type:N,style:$,color:P}=T[L];let X=O,H=y,j=w,W=B;if(N!==Y.TOP&&N!==Y.BOTTOM&&N!==Y.LEFT&&N!==Y.RIGHT){if(A)return!0;I&&(X=R.startY,H=R.endY,j=R.startX,W=R.endX)}const U=j6($);$!==C&&(W6(t,$),t.setLineWidthByPrecision(U),C=$),P!==m&&(t.strokeStyle=P||$1,m=P),f4(t,N,{startX:j,startY:X,endX:W,endY:H}),!this._getOverflowExclusion(c,N,b,S)&&z6(t,N,(U-1)/2/F,{startX:j,startY:X,endX:W,endY:H})}}),t.closePath(),t.restore()}_getOverflowExclusion(t,e,s,i){let o=!1;return e===Y.TOP||e===Y.BOTTOM||t==null||t.forRow((a,c)=>{if(a!==s)return!0;c.forEach(u=>{const l=t.getValue(a,u),{startColumn:D,endColumn:f}=l;if(e===Y.LEFT&&i>D&&i<=f||e===Y.RIGHT&&i>=D&&i<f)return o=!0,!1})}),o}};V1.add(w4);const hD="DefaultColumnHeaderLayoutExtension";class A4 extends k1{constructor(){super(...arguments);h(this,"uKey",hD);h(this,"Z_INDEX",10)}draw(t,e,s){const{rowColumnSegment:i,columnHeaderHeight:o=0}=s,{startColumn:a,endColumn:c}=i;if(!s)return;const{rowHeightAccumulation:u,columnTotalWidth:l,columnWidthAccumulation:D,rowTotalHeight:f}=s;if(!u||!D||l===void 0||f===void 0)return;const p=this._getScale(e);t.fillStyle=c1([248,249,250]),t.fillRectByPrecision(0,0,l,o),t.textAlign="center",t.textBaseline="middle",t.fillStyle=c1([0,0,0]),t.beginPath(),t.setLineWidthByPrecision(1),t.translateWithPrecisionRatio(o1,o1),t.strokeStyle=c1([217,217,217]),t.font=`13px ${K2}`;let C=0;const m=D.length;for(let b=a-1;b<=c;b++){if(b<0||b>m-1)continue;const S=D[b];if(C===S)continue;t.moveToByPrecision(S,0),t.lineToByPrecision(S,o);const T=C+(S-C)/2;t.fillText(_.numberToABC(b),T,o/2+x6),C=S}const F=o-.5/p;t.moveToByPrecision(0,F),t.lineToByPrecision(l,F),t.stroke()}}Z6.add(new A4);function o2(r){return r[r.length-1]}function t7(r){var n;return(n=r.sections)==null?void 0:n[r.sections.length-1]}function DD(r){var t;const n=(t=W2(r))==null?void 0:t.column.lines;return n==null?void 0:n[n.length-1]}function _D(r){return r.lines[r.lines.length-1]}function W2(r){const n=t7(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 dD(r){const n=DD(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 fD(r){const n=t7(r),t=n.columns.length;for(let e=0;e<t;e++)if(!n.columns[e].isFull)return!1;return!0}function P1(r,n){if(r instanceof Object){const{v:t,u:e}=r;return e===_.NumberUnitType.POINT?t:t*n}return r}function e7(r=0,n,t=_.GridType.LINES,e=_.BooleanNumber.TRUE){let s=1;return R4(t,e)&&(s=r),s*=n,s}function R4(r=_.GridType.LINES,n=_.BooleanNumber.FALSE){return n===_.BooleanNumber.TRUE&&(r===_.GridType.LINES_AND_CHARS||r===_.GridType.SNAP_TO_CHARS)}function I4(r,n){const{paragraphStyle:t={}}=n,{linePitch:e=15.6,gridType:s=_.GridType.LINES,paragraphLineGapDefault:i=0}=r,{lineSpacing:o=1,spacingRule:a=_.SpacingRule.AUTO,snapToGrid:c=_.BooleanNumber.TRUE}=t;return{paragraphLineGapDefault:i,linePitch:e,gridType:s,lineSpacing:o,spacingRule:a,snapToGrid:c}}function gD(r,n){const{paragraphStyle:t={}}=n,{charSpace:e=0,gridType:s=_.GridType.LINES,defaultTabStop:i=36,documentTextStyle:o={}}=r,{fs:a=V7}=o,{snapToGrid:c=_.BooleanNumber.TRUE}=t;return{charSpace:e,documentFontSize:a,defaultTabStop:i,gridType:s,snapToGrid:c}}function b6(r,n=-1){let t=n;for(const e of r){const{sections:s}=e,i=t;let o=i,a=Number.NEGATIVE_INFINITY,c=0;for(const u of s){const{columns:l}=u,D=o;let f=D,p=Number.NEGATIVE_INFINITY,C=0;for(const m of l){const{lines:F}=m,b=f;let S=b,T=0,v=Number.NEGATIVE_INFINITY,O=null;for(const y of F){const{divides:w,lineHeight:B}=y,A=S;let I=A,R=0,L=0;T+=B;const N=w.length;for(let $=0;$<N;$++){const P=w[$],{glyphGroup:X}=P,H=I;let j=H;for(const W of X){const U=W.glyphType===h1.LIST?0:W.count;j+=U;const J=W.bBox,{ba:K}=J;L=Math.max(L,K),$===N-1&&(R+=W.width)}$===N-1&&(R+=P.left),X.length!==0&&(P.st=H+1,P.ed=j>=P.st?j:P.st,I=P.ed)}y.st=A+1,y.ed=I>=y.st?I:y.st,y.width=R,y.asc=L,v=Math.max(v,R),y.top=((O==null?void 0:O.top)||0)+((O==null?void 0:O.lineHeight)||0),O=y,S=y.ed}m.st=b+1,m.ed=S>=m.st?S:m.st,m.height=T,m.width=v,C+=v,p=Math.max(p,m.height),f=m.ed}u.st=D+1,u.ed=f>=u.st?f:u.st,u.height=p,c+=p,a=Math.max(a,C),o=u.ed}e.st=i+1,e.ed=o>=e.st?o:e.st,e.height=c,e.width=a,t=e.ed}}function pD(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 c of a)n&&L6(n)&&n(c)}}}}function mD(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&&L6(n)&&n(o)}}}function FD(r,n,t,e,s=!1){const{relativeFrom:i,align:o,posOffset:a,percent:c}=r;if(o!=null)if(o===_.AlignTypeH.INSIDE||o===_.AlignTypeH.OUTSIDE)i===_.ObjectRelativeFromH.MARGIN||_.ObjectRelativeFromH.PAGE;else{if(i===_.ObjectRelativeFromH.COLUMN){const{width:u,left:l}=n;let D=0;return o===_.AlignTypeH.LEFT?D=l:o===_.AlignTypeH.RIGHT?D=l+u-e:o===_.AlignTypeH.CENTER&&(D=l+u/2-e/2),D}if(i!==_.ObjectRelativeFromH.LEFT_MARGIN){if(i!==_.ObjectRelativeFromH.MARGIN){if(i!==_.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==_.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==_.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===_.ObjectRelativeFromH.PAGE){const{pageWidth:u}=t;let l=0;return o===_.AlignTypeH.RIGHT?l=u-e:o===_.AlignTypeH.CENTER&&(l=u/2-e/2),l}}}}}}}else if(a){const{pageWidth:u,marginLeft:l,marginRight:D}=t,f=u-D;let p=0;return i===_.ObjectRelativeFromH.COLUMN?p=(s?0:(n==null?void 0:n.left)||0)+a:i===_.ObjectRelativeFromH.LEFT_MARGIN||(i===_.ObjectRelativeFromH.MARGIN?p=a+l:i===_.ObjectRelativeFromH.RIGHT_MARGIN||i===_.ObjectRelativeFromH.INSIDE_MARGIN||i===_.ObjectRelativeFromH.OUTSIDE_MARGIN||i===_.ObjectRelativeFromH.PAGE&&(p=a)),p+e>f&&(p=f-e),p}else if(c){const{pageWidth:u,marginLeft:l,marginRight:D}=t;if(i!==_.ObjectRelativeFromH.LEFT_MARGIN){if(i!==_.ObjectRelativeFromH.MARGIN){if(i!==_.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==_.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==_.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===_.ObjectRelativeFromH.PAGE)return c*u}}}}}}}function CD(r,n,t,e,s,i,o=!1){const{relativeFrom:a,align:c,posOffset:u,percent:l}=r;if(c!=null){if(a===_.ObjectRelativeFromV.LINE){let D=0;return c===_.AlignTypeV.BOTTOM?D=t+e-s:c===_.AlignTypeV.TOP?D=t:c===_.AlignTypeV.CENTER&&(D=t+e/2-s/2),D}if(a!==_.ObjectRelativeFromV.TOP_MARGIN){if(a!==_.ObjectRelativeFromV.MARGIN){if(a!==_.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==_.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==_.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===_.ObjectRelativeFromV.PAGE){const{pageHeight:D}=n;let f=0;return c===_.AlignTypeV.BOTTOM?f=D-s:c===_.AlignTypeV.CENTER&&(f=D/2-s/2),f}}}}}}}else if(u){let D=0;return a===_.ObjectRelativeFromV.LINE?D=t||0+u:a===_.ObjectRelativeFromV.TOP_MARGIN||a===_.ObjectRelativeFromV.MARGIN||a===_.ObjectRelativeFromV.BOTTOM_MARGIN||a===_.ObjectRelativeFromV.INSIDE_MARGIN||a===_.ObjectRelativeFromV.OUTSIDE_MARGIN||(a===_.ObjectRelativeFromV.PAGE?D=u:a===_.ObjectRelativeFromV.PARAGRAPH&&(D=(o?0:i==null?t:i)+u)),D}else if(l){const{pageHeight:D,marginBottom:f,marginTop:p}=n;if(a!==_.ObjectRelativeFromV.TOP_MARGIN){if(a!==_.ObjectRelativeFromV.MARGIN){if(a!==_.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==_.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==_.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===_.ObjectRelativeFromV.PAGE)return l*D}}}}}}}function C7(r){let n=0;for(const t of r.glyphGroup)n+=t.width;return n}const S6=new _.ObjectMatrix;function ED(){S6.reset()}function I2(r,n,t,e,s){const{startIndex:i}=t,o=n.getTextRun(r+i)||{ts:{},st:0,ed:0},{st:a,ed:c}=o;let{ts:u={}}=o;const l=S6.getValue(a,c);if(l)return l;const{gridType:D=_.GridType.LINES,charSpace:f=0,documentTextStyle:p={},pageSize:C={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginRight:m=0,marginLeft:F=0,localeService:b}=e,{snapToGrid:S=_.BooleanNumber.TRUE}=s;u={...p,...u};const T=E2(u),v={...p,...u},O=C.width||Number.POSITIVE_INFINITY-F-m,y={fontStyle:T,textStyle:v,charSpace:f,gridType:D,snapToGrid:S,pageWidth:O};return S6.setValue(a,c,y),y}var bD=Object.defineProperty,SD=Object.getOwnPropertyDescriptor,TD=(r,n,t,e)=>{for(var s=e>1?void 0:e?SD(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&&bD(n,t,s),s},vD=(r,n)=>(t,e)=>n(t,e,r);exports.Skeleton=class extends _.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(){}};exports.Skeleton=TD([vD(0,U1.Inject(_.LocaleService))],exports.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=y1.VERTICAL,e=0,s=0,i=0,o=0){const{pageWidth:a,pageHeight:c}=n;let u=0,l=0;return t===y1.VERTICAL?u+=c+s:t===y1.HORIZONTAL&&(l+=a+e),this.translate(l,u),{x:l,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,c=e+(t===!0?i:0)+o;return this.translate(0,c),{x:0,y:c}}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 x4(r=[],n=_.ColumnSeparatorType.NONE,t=0,e=0,s=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY){const o=[];let a=0,c=0;if(r.length===0)o.push(o6(e,s,0,_.ColumnSeparatorType.NONE));else for(let l=0;l<r.length;l++){const{width:D,paddingEnd:f}=r[l];c=f,a=D,o.push(o6(e,a,c,n)),e+=a+c,l===r.length-1&&(a=s!==Number.POSITIVE_INFINITY?s-a:D,c=0,o.push(o6(e,a,c,n)))}const u={columns:o,colCount:(r==null?void 0:r.length)||1,height:i,top:t,st:0,ed:0};return o.forEach(l=>{l.parent=u}),u}function M4(r,n){r.isFull=n}function o6(r,n,t,e){return{lines:[],left:r,width:n,height:0,spaceWidth:t,separator:e,st:0,ed:0,drawingLRIds:[],isFull:!1}}function yD(){return[]}class L2{constructor(n,t=!1){this.position=n,this.required=t}}const BD=5,E7=12,OD=13,wD=16,AD=17,RD=22,b7=28,S7=31,ID=33,k2=34,xD=35,a6=36,T6=37,P4=38,MD=39,PD=40,f2=41,LD=42,d=0,g=1,G=2,L4=3,E=4,$D=[[E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,L4,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,E,d,d,d,d,d,d,d,d,g,d]];class ND{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 kD=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]),HD=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,T7=(r,n,t)=>{const e=r[n];r[n]=r[t],r[t]=e},XD=r=>{const n=r.length;for(let t=0;t<n;t+=4)T7(r,t,t+3),T7(r,t+1,t+2)},YD=r=>{HD&&XD(r)},n7=0,$4=-3;class B2{constructor(){h(this,"table",new Uint16Array(16));h(this,"trans",new Uint16Array(288))}}class zD{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 B2,this.dtree=new B2}}const N4=new B2,k4=new B2,s7=new Uint8Array(30),i7=new Uint16Array(30),H4=new Uint8Array(30),X4=new Uint16Array(30),WD=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),v7=new B2,E1=new Uint8Array(320);function Y4(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 jD(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 y7=new Uint16Array(16);function u6(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)y7[s]=i,i+=r.table[s];for(s=0;s<e;++s)n[t+s]&&(r.trans[y7[n[t+s]]++]=s)}function GD(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);const n=r.tag&1;return r.tag>>>=1,n}function S1(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 v6(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 UD(r,n,t){let e,s,i;const o=S1(r,5,257),a=S1(r,5,1),c=S1(r,4,4);for(e=0;e<19;++e)E1[e]=0;for(e=0;e<c;++e){const u=S1(r,3,0);E1[WD[e]]=u}for(u6(v7,E1,0,19),s=0;s<o+a;){const u=v6(r,v7);switch(u){case 16:{const l=E1[s-1];for(i=S1(r,2,3);i;--i)E1[s++]=l;break}case 17:for(i=S1(r,3,3);i;--i)E1[s++]=0;break;case 18:for(i=S1(r,7,11);i;--i)E1[s++]=0;break;default:E1[s++]=u;break}}u6(n,E1,0,o),u6(t,E1,o,a)}function B7(r,n,t){for(;;){let e=v6(r,n);if(e===256)return n7;if(e<256)r.dest[r.destLen++]=e;else{let s;e-=257;const i=S1(r,s7[e],i7[e]),o=v6(r,t),a=r.destLen-S1(r,H4[o],X4[o]);for(s=a;s<a+i;++s)r.dest[r.destLen++]=r.dest[s]}}}function VD(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 $4;for(r.sourceIndex+=4,e=n;e;--e)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,n7}function O7(r,n){const t=new zD(r,n);let e,s,i;do{switch(e=GD(t),s=S1(t,2,0),s){case 0:i=VD(t);break;case 1:i=B7(t,N4,k4);break;case 2:UD(t,t.ltree,t.dtree),i=B7(t,t.ltree,t.dtree);break;default:i=$4}if(i!==n7)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}jD(N4,k4);Y4(s7,i7,4,3);Y4(H4,X4,2,1);s7[28]=0;i7[28]=258;const r7=11,G1=5,KD=r7-G1,JD=65536>>r7,ZD=1<<KD,qD=ZD-1,H2=2,QD=1<<G1,c6=QD-1,z4=65536>>G1,t_=1024>>G1,e_=z4+t_,n_=e_,s_=32,i_=n_+s_,r_=1<<H2;class o_{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=O7(n,new Uint8Array(e)),n=O7(n,new Uint8Array(e)),YD(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>>G1]<<H2)+(n&c6),this.data[t]):n<=65535?(t=(this.data[z4+(n-55296>>G1)]<<H2)+(n&c6),this.data[t]):n<this.highStart?(t=this.data[i_-JD+(n>>r7)],t=this.data[t+(n>>G1&qD)],t=(t<<H2)+(n&c6),this.data[t]):this.data[this.data.length-r_]}}const a_=new o_(kD);function l6(r){switch(r){case ID:return E7;case MD:case PD:case LD:return E7;case xD:return BD;default:return r}}function h6(r){switch(r){case T6:case P4:return k2;case f2:return RD;default:return r}}class u_{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 ND);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=h6(n),this._nextClass=n,this._LB8a=n===S7,this._LB30a=0}for(;this._pos<this.string.length;){this._lastPos=this._pos;const n=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===k2||this._curClass===a6&&this._nextClass!==T6)return this._curClass=h6(l6(this._nextClass)),new L2(this._lastPos,!0);if(this._rule.shouldBreak(this._codePoint,this._nextClass))return this._curClass=h6(l6(this._nextClass)),new L2(this._lastPos);let t=this._getSimpleBreak();if(t===null&&(t=this._getPairTableBreak(n)),this._LB8a=this._nextClass===S7,t)return new L2(this._lastPos)}return this._lastPos<this.string.length?(this._lastPos=this.string.length,new L2(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=a_.get(n);return this._codePoint=n,l6(t)}_getSimpleBreak(){switch(this._nextClass){case f2:return!1;case k2:case T6:case P4:return this._curClass=k2,!1;case a6:return this._curClass=a6,!1}return null}_getPairTableBreak(n){let t=!1;switch($D[this._curClass][this._nextClass]){case d:t=!0;break;case g:t=n===f2;break;case G:if(t=n===f2,!t)return t=!1,t;break;case L4:if(n!==f2)return t;break}return this._LB8a&&(t=!1),this._LB21a&&(this._curClass===wD||this._curClass===AD)?(t=!1,this._LB21a=!1):this._LB21a=this._curClass===OD,this._curClass===b7?(this._LB30a++,this._LB30a===2&&this._nextClass===b7&&(t=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,t}}const c_=9;function l_(r){r.addRule("break_before_tab",n=>n===c_)}function W4(r){return[" "," "," "].includes(r)}function j4(r){return W4(r)||b2(r)||Z2(r)||q2(r)||H6(r)}function y6(r,n){return W4(r)?{stretchability:[0,n/2],shrinkability:[0,n/3]}:Z2(r)?{stretchability:[0,0],shrinkability:[0,n/2]}:q2(r)?{stretchability:[0,0],shrinkability:[n/2,0]}:H6(r)?{stretchability:[0,0],shrinkability:[n/4,n/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function h_(r,n,t){return o7(h1.WORD,r,n,t)}function Q2(r,n,t){return o7(h1.LETTER,r,n,t)}function D_(r,n){return o7(h1.TAB,_.DataStreamTreeTokenType.TAB,r,n)}function o7(r,n,t,e){const{fontStyle:s,textStyle:i,charSpace:o=1,gridType:a=_.GridType.LINES,snapToGrid:c=_.BooleanNumber.FALSE}=t,u=[_.DataStreamTreeTokenType.SECTION_BREAK,_.DataStreamTreeTokenType.TABLE_START,_.DataStreamTreeTokenType.TABLE_END,_.DataStreamTreeTokenType.TABLE_ROW_START,_.DataStreamTreeTokenType.TABLE_ROW_END,_.DataStreamTreeTokenType.TABLE_CELL_START,_.DataStreamTreeTokenType.TABLE_CELL_END,_.DataStreamTreeTokenType.CUSTOM_RANGE_START,_.DataStreamTreeTokenType.CUSTOM_RANGE_END,_.DataStreamTreeTokenType.COLUMN_BREAK,_.DataStreamTreeTokenType.PAGE_BREAK,_.DataStreamTreeTokenType.DOCS_END,_.DataStreamTreeTokenType.CUSTOM_BLOCK];let l=_.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:y6(n,0),glyphType:h1.PLACEHOLDER,streamType:n,count:1};n===_.DataStreamTreeTokenType.PARAGRAPH&&(l=_.DataStreamTreeTokenType.PARAGRAPH);const D=M1.getTextSize(n,s),{width:f=0}=D;let p=e!=null?e:f,C=0;return R4(a,c)&&(p=f+(w2(n)?o:o/2),a===_.GridType.SNAP_TO_CHARS&&(C=(p-f)/2)),{content:n,ts:i,fontStyle:s,width:p,bBox:D,xOffset:C,left:0,glyphType:r,streamType:l,isJustifiable:j4(n),adjustability:y6(n,p),count:n.length}}function __(r,n,t){const{bBox:e,symbol:s,ts:i,fontStyle:o,bulletAlign:a=_.BulletAlignment.START,bulletType:c=!1}=n,u=e.width,l=Math.ceil(u/t);let D=(l<2?2:l)*t,f=0;c&&(a===_.BulletAlignment.CENTER?(f=-u/2,D-=f):a===_.BulletAlignment.END&&(f=-u,D-=f));const p=d_(r,n);return{content:s,ts:i,fontStyle:o,width:D,xOffset:0,bBox:p,left:f,isJustifiable:j4(s),adjustability:y6(s,D),glyphType:h1.LIST,streamType:_.DataStreamTreeTokenType.LETTER,count:0}}function G4(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 D6(r,n,t=0){G4(n,t);for(const e of n)e.parent=r;r.glyphGroup.push(...n)}function d_(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 U4(r,n){r.width-=n,r.adjustability.shrinkability[1]-=n}function V4(r,n){r.width-=n,r.xOffset-=n,r.adjustability.shrinkability[0]-=n}function f_(r,n,t,e,s,i){const o=[];let a=0;for(let c=0;c<n.length;c++){const u=n[c];if(a4(u)||$6(n.substring(c)))break;const l=I2(r+c,t,e,s,i),D=Q2(u,l);o.push(D),a++}return{step:a,glyphGroup:o}}function g_(r,n,t,e,s,i){const o=I2(r,t,e,s,i),a=[];let c=0;for(let u=0;u<n.length;u++){const l=n[u];if(N6(l))a.unshift(l),c++;else break}return{step:c,glyphGroup:[Q2(a.join(""),o)]}}function p_(r,n,t,e,s,i){const o=I2(r,t,e,s,i),a=n.match(o4);return{step:a[0].length,glyphGroup:[Q2(a[0],o)]}}function m_(r,n,t,e,s,i){const o=I2(r,t,e,s,i),a=[];let c=0;for(let u=0;u<n.length;u++){const l=n[u];if(k6(l))a.push(l),c++;else break}return{step:c,glyphGroup:[h_(a.join(""),o)]}}function F_(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(C6(o)&&C6(s.content)&&e.adjustability.shrinkability[1]+s.adjustability.shrinkability[0]>=a){const c=Math.min(e.adjustability.shrinkability[1],a);U4(e,c),V4(s,a-c)}}}function C_(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:c}=o;b2(o.content)&&a&&s.test(a.content)&&(o.width+=c/4,o.adjustability.shrinkability[1]+=c/8),b2(o.content)&&t&&s.test(t.content)&&(o.width+=c/4,o.xOffset+=c/4,o.adjustability.shrinkability[0]+=c/8),t=o}}function E_(r,n,t,e,s){var p;const{gridType:i=_.GridType.LINES,charSpace:o=0,defaultTabStop:a=10.5}=e,{snapToGrid:c=_.BooleanNumber.TRUE}=s,u=[],l=new u_(r);let D=0,f;for(l_(l);f=l.nextBreak();){const C=r.slice(D,f.position);let m=C,F=D;const b=[];for(;m.length>0;){const S=(p=m.match(/^[\s\S]/gu))==null?void 0:p[0];if(S==null)break;if(/\s/.test(S)||w2(S)){const T=I2(F,n,t,e,s);let v;if(S===_.DataStreamTreeTokenType.TAB){const O=e7(o,a,i,c);v=D_(T,O)}else v=Q2(S,T);b.push(v),F+=S.length,m=m.substring(S.length)}else if($6(m)){const{step:T,glyphGroup:v}=p_(F,m,n,t,e,s);b.push(...v),F+=T,m=m.substring(T)}else if(N6(S)){const{step:T,glyphGroup:v}=g_(F,m,n,t,e,s);b.push(...v),F+=T,m=m.substring(T)}else if(k6(S)){const{step:T,glyphGroup:v}=m_(F,m,n,t,e,s);b.push(...v),F+=T,m=m.substring(T)}else{const{step:T,glyphGroup:v}=f_(F,m,n,t,e,s);b.push(...v),F+=T,m=m.substring(T)}}F_(b),u.push({text:C,glyphs:b}),D=f.position}return C_(u),u}function O2(r,n,t=1,e=r2.SECTION){var r1,g1,F1,_1;const s=b_(),{pageNumberStart:i=1,pageSize:o={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},pageOrient:a=_.PageOrientType.PORTRAIT,headerIds:c={},footerIds:u={},useFirstPageHeaderFooter:l,useEvenPageHeaderFooter:D,footerTreeMap:f,headerTreeMap:p,columnProperties:C=[],columnSeparatorType:m,marginTop:F=0,marginBottom:b=0,marginHeader:S=0,marginFooter:T=0,marginLeft:v=0,marginRight:O=0,renderConfig:y={}}=r,{skeHeaders:w,skeFooters:B}=n,{width:A=Number.POSITIVE_INFINITY,height:I=Number.POSITIVE_INFINITY}=o;s.pageNumber=t,s.pageNumberStart=i,s.renderConfig=y,s.marginLeft=v,s.marginRight=O,s.breakType=e,s.pageWidth=A,s.width=0,s.pageHeight=I,s.height=0,s.pageOrient=a;const{defaultHeaderId:R,evenPageHeaderId:L,firstPageHeaderId:N}=c,{defaultFooterId:$,evenPageFooterId:P,firstPageFooterId:X}=u;let H=R!=null?R:"",j=$!=null?$:"";t===i&&l?(H=N!=null?N:"",j=X!=null?X:""):t%2===0&&D&&(H=L!=null?L:"",j=P!=null?P:"");let W,U;H&&((r1=w.get(H))!=null&&r1.has(A)?W=(g1=w.get(H))==null?void 0:g1.get(A):p&&p.has(H)&&(W=w7(p.get(H),r,n),w.set(H,new Map([[A,W]]))),s.headerId=H),j&&((F1=B.get(j))!=null&&F1.has(A)?U=(_1=B.get(j))==null?void 0:_1.get(A):f&&f.has(j)&&(U=w7(f.get(j),r,n),B.set(H,new Map([[A,U]]))),s.footerId=j),s.marginTop=A7(F,S,W),s.marginBottom=A7(b,T,U);const J=s.sections,K=J[J.length-1],{marginTop:e1,marginBottom:D1,marginLeft:a1,marginRight:Q}=s,V=A-a1-Q,u1=I-e1-D1;let q=0;K&&(q=K.top+K.height);const s1=x4(C,m,q,0,V,u1-q);return s1.parent=s,J.push(s1),s}function b_(){return{sections:[],headerId:"",footerId:"",pageWidth:0,pageHeight:0,pageOrient:_.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,breakType:r2.SECTION,st:0,ed:0,skeDrawings:new Map}}function w7(r,n,t,e=!0){const{lists:s,footerTreeMap:i,headerTreeMap:o,localeService:a,pageSize:c,marginLeft:u=0,marginRight:l=0,drawings:D,marginTop:f=0,marginBottom:p=0,marginHeader:C=0,marginFooter:m=0}=n,F=(c==null?void 0:c.width)||Number.POSITIVE_INFINITY,b={lists:s,footerTreeMap:i,headerTreeMap:o,pageSize:{width:F-u-l,height:Number.POSITIVE_INFINITY},localeService:a,drawings:D},S=O2(b,t),T=tt(r,r.children[0],S,b,t).pages[0];b6([T]);const v=T.sections[0].columns[0],O=v.height||0,{skeDrawings:y,st:w,ed:B}=T,A={lines:v.lines,skeDrawings:y,height:O,st:w,ed:B,marginLeft:u,marginRight:l};return e?{...A,marginTop:S_(f,C,O)}:{...A,marginBottom:T_(p,m,O)}}function A7(r,n,t){return!t||t.lines.length===0?r:Math.max(r,n,(t==null?void 0:t.height)||0)}function S_(r,n,t){const e=Math.max(r,n);return t>e?0:e-t}function T_(r,n,t){const e=Math.max(r,n);return t>e?0:e-t}function v_(r,n,t,e,s=0,i=!1,o,a,c){const{lineHeight:u=15.6,lineTop:l=0,contentHeight:D=0,paddingLeft:f=0,paddingRight:p=0,paddingTop:C=0,paddingBottom:m=0,marginTop:F=0,spaceBelowApply:b=0}=t,S=I_(n,r);S.lineIndex=s,S.paragraphStart=i,S.contentHeight=D,S.top=l,S.lineHeight=u,S.paddingTop=C,S.paddingBottom=m,S.marginTop=F,S.spaceBelowApply=b,S.divides=B_(u,l,e,f,p,o,a,c);for(const T of S.divides)T.parent=S;return S}function y_(r=15.6,n=0,t,e,s){let i=n;return e==null||e.forEach(o=>{const a=_6(o,r,n);a&&(i=Math.max(i,a))}),s==null||s.forEach(o=>{const a=_6(o,r,n);a&&(i=Math.max(i,a))}),t==null||t.forEach(o=>{const a=_6(o,r,n);a&&(i=Math.max(i,a))}),i}function _6(r,n,t){const{aTop:e,height:s,aLeft:i,width:o,angle:a=0,drawingOrigin:c}=r,{layoutType:u,distT:l=0,distB:D=0}=c;if(u!==_.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(a===0){const C=e-l,m=s+D;return C+m<t||C>n+t?void 0:C+s}let{top:f=0,height:p=0}=K4(a,i,o,e,s);if(f-=l,p+=D,!(f+p<t||f>n+t))return f+p}function B_(r,n,t,e,s,i,o,a){const c=[];return c.push({left:0,width:e},{left:t-s,width:s}),o==null||o.forEach((u,l)=>{const D=d6(u,r,n,t);D&&c.push(D)}),a==null||a.forEach((u,l)=>{const D=d6(u,r,n,t);D&&c.push(D)}),i==null||i.forEach((u,l)=>{const D=d6(u,r,n,t);D&&c.push(D)}),R_(t,c)}function O_(r,n){r.isFull=n}function d6(r,n,t,e){const{aTop:s,height:i,aLeft:o,width:a,angle:c=0,drawingOrigin:u}=r,{layoutType:l}=u;if(l===_.PositionedObjectLayoutType.WRAP_NONE||l===_.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(l===_.PositionedObjectLayoutType.WRAP_POLYGON){const{start:f=[0,0],lineTo:p}=u;if(!p)return;const C=[];C.push(new x(f[0],f[1]));for(let m=0;m<p.length;m++){const F=p[m];C.push(new x(F[0],F[1]))}if(c!==0){const m=new i1().rotate(c);for(let F=0;F<C.length;F++){const b=C[F];C[F]=m.applyPoint(b)}}return R7(C,t,n,e)}if(c===0)return I7(s,i,o,a,t,n,e,u);const D=K4(c,o,a,s,i);if(l===_.PositionedObjectLayoutType.WRAP_SQUARE){const{left:f,width:p,top:C,height:m}=D;return I7(C,m,f,p,t,n,e,u)}return R7(D.points,t,n,e)}function K4(r,n,t,e,s){const i=new i1().rotate(r),o=new x(n,e),a=new x(n,e+s),c=new x(n+t,e),u=new x(n+t,e+s);return i.makeBoundingBoxFromPoints([o,a,c,u])}function R7(r,n,t,e){const s=new E4(r),i=s.intersection([new x(0,n),new x(e,n)]),o=s.intersection([new x(0,n+t),new x(e,n+t)]);if(!i&&!o)return;const a=w_([...r,...i||[],...o||[]]);return{left:a.min,width:a.max}}function w_(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 I7(r,n,t,e,s,i,o,a){const{layoutType:c,wrapText:u=_.WrapTextType.BOTH_SIDES,distL:l=0,distR:D=0,distT:f=0,distB:p=0}=a,C=r-(c===_.PositionedObjectLayoutType.WRAP_SQUARE?f:0),m=n+(c===_.PositionedObjectLayoutType.WRAP_SQUARE?p:0);if(C+m<s||C>i+s)return;let F=t-l,b=e+D;const S=A_(u,F,b,o);return S===1?b=o-F:S===2&&(F=0,b=t+e+D),{left:F,width:b}}function A_(r,n,t,e){let s=0;return r===_.WrapTextType.LEFT?s=1:r===_.WrapTextType.RIGHT?s=2:r===_.WrapTextType.LARGEST&&(n>e-n-t?s=1:s=2),s}function R_(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:c}=o;if(a>e){let u=a-e;u=u<r?u:r-e;const l=x7(e,u);t.push(l)}if(e=Math.max(a+c,e),i===s-1&&a+c<r){const u=x7(a+c,r-a-c);t.push(u)}}return t}function x7(r,n){return{glyphGroup:[],width:n,left:r,paddingLeft:0,isFull:!1,st:0,ed:0}}function I_(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 x_(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 M_(r,n,t,e,s=!1){if(s)if(e.bulletSkeleton){const{bulletSkeleton:i,paragraphStyle:o={}}=e,{gridType:a=_.GridType.LINES,charSpace:c=0,defaultTabStop:u=1}=t,{snapToGrid:l=_.BooleanNumber.TRUE}=o,D=e7(c,u,a,l);X_(o,i,D);const f=__(r[0],i,D);j1([f,...r],n,t,e,s)}else j1(r,n,t,e,s);else j2(r,n,t,e,s);return[...n]}function j2(r,n,t,e,s=!1,i){var c;const o=o2(n),a=dD(o);if(a){const u=M7(r),{divide:l}=a,D=(c=l==null?void 0:l.glyphGroup)==null?void 0:c[l.glyphGroup.length-1],f=(D==null?void 0:D.width)||0,p=(D==null?void 0:D.left)||0,C=f+p;if(C+u>l.width)if(O_(l,!0),a.isLast&&r.length===1&&(r[0].content===_.DataStreamTreeTokenType.SPACE||r[0].content===_.DataStreamTreeTokenType.PARAGRAPH))D6(l,r,C);else if((l==null?void 0:l.glyphGroup.length)===0){const m=[];for(;r.length;)if(m.push(r.shift()),M7(m)>l.width){m.length>1&&r.unshift(m.pop());break}D6(l,m,C),r.length&&j1(r,n,t,e,s,i)}else j1(r,n,t,e,s,i);else{const m=l.parent,F=k_(r);if(m&&F&&!Y_(m)){const{paragraphLineGapDefault:b,linePitch:S,lineSpacing:T,spacingRule:v,snapToGrid:O,gridType:y}=I4(t,e),{boundingBoxAscent:w,boundingBoxDescent:B}=F,A=w+B,{contentHeight:I}=q4(A,b,S,y,T,v,O);if(m.contentHeight<I){const R=H_(m),L=R.length;let N=[],$=1;L>2&&R[0].glyphType===h1.LIST?(N=[R[0],R[1]],$=2):N=[R[0]];const P=m.parent,{paragraphStart:X}=P==null?void 0:P.lines.pop();j1(N,n,t,e,X,w+B);for(let H=$;H<R.length;H++)j2([R[H]],n,t,e,s);j2(r,n,t,e,s);return}}D6(l,r,C)}}else j1(r,n,t,e,s,i)}function j1(r,n,t,e,s=!1,i){var X1,Z1,w1,q1,Y1;let o=o2(n),a=W2(o);if((!a||!a.column)&&(Z4(r,n,t,e),o=o2(n),a=W2(o)),!a)return;const c=a.column;if(c.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=_D(c),l=Math.max(...r.map(x1=>x1.bBox.ba)),D=Math.max(...r.map(x1=>x1.bBox.bd)),f=i||l+D,{paragraphStyle:p={},paragraphAffectSkeDrawings:C,skeHeaders:m,skeFooters:F,drawingAnchor:b,paragraphIndex:S}=e,{spaceAbove:T=0,spaceBelow:v=0,indentFirstLine:O=0,hanging:y=0,indentStart:w=0,indentEnd:B=0}=p,{paragraphLineGapDefault:A,linePitch:I,lineSpacing:R,spacingRule:L,snapToGrid:N,gridType:$}=I4(t,e),{paddingTop:P,paddingBottom:X,contentHeight:H,lineSpacingApply:j}=q4(f,A,I,$,R,L,N),{marginTop:W,spaceBelowApply:U}=L_(j,T,v,s,u),J=W+P+H+X;let K=c.parent;K||(K=t7(o));const e1=(u==null?void 0:u.lineHeight)||0,D1=(u==null?void 0:u.top)||0,a1=e1+D1,{pageWidth:Q,headerId:V,footerId:u1}=o,q=(Z1=(X1=m==null?void 0:m.get(V))==null?void 0:X1.get(Q))==null?void 0:Z1.skeDrawings,s1=(q1=(w1=F==null?void 0:F.get(u1))==null?void 0:w1.get(Q))==null?void 0:q1.skeDrawings;$_(a1,J,c,(Y1=b==null?void 0:b.get(S))==null?void 0:Y1.top,C);const r1=y_(J,a1,o.skeDrawings,q,s1);if(J+r1>K.height&&c.lines.length>0&&o.sections.length>0){M4(c,!0),J4(r,n,t,e,s,i);return}const g1=u?u.lineIndex+1:0,{charSpace:F1,defaultTabStop:_1}=gD(t,e),B1=e7(F1,_1,$,N),{paddingLeft:H1,paddingRight:J1,changeBulletWidth:d1}=P_(r[0],O,y,w,B,B1);d1.state&&(r[0].width=d1.hangingNumber);const O1=v_(S,R2.PARAGRAPH,{lineHeight:J,contentHeight:H,lineTop:r1,paddingLeft:H1,paddingRight:J1,paddingTop:P,paddingBottom:X,marginTop:W,spaceBelowApply:U},c.width,g1,s,o.skeDrawings,q,s1);c.lines.push(O1),O1.parent=c,x_(S,O1,a1,b),j2(r,n,t,e,s,i)}function J4(r,n,t,e,s=!1,i){const o=o2(n);fD(o)===!0?Z4(r,n,t,e,s,i):j1(r,n,t,e,s,i)}function Z4(r,n,t,e,s=!1,i){const o=o2(n),{skeHeaders:a,skeFooters:c}=e;n.push(O2(t,{skeHeaders:a,skeFooters:c},o==null?void 0:o.pageNumber)),J4(r,n,t,e,s,i)}function P_(r,n=0,t=0,e=0,s=0,i){const{glyphType:o=h1.LETTER,bBox:a}=r,c=P1(n,i),u=P1(t,i),l=P1(e,i),D=P1(s,i);let f=l;const p=D,C={state:!1,hangingNumber:0};if(o===h1.LIST){const{width:m}=a;c>0?f+=c:u>0&&u>m&&(C.state=!0,C.hangingNumber=u)}else f+=u;return{paddingLeft:f,paddingRight:p,changeBulletWidth:C}}function L_(r=0,n=0,t=0,e,s){let i=0,o=0;if(!e)return{marginTop:i,spaceBelowApply:o};if(i=P1(n,r),o=P1(t,r),s){const{spaceBelowApply:a}=s;a>i&&(i=0,s.lineHeight+=a,s.marginBottom=a)}return{marginTop:i,spaceBelowApply:o}}function q4(r,n,t,e,s,i,o){let a=n,c=n;if(e===_.GridType.DEFAULT||o===_.BooleanNumber.FALSE)return i===_.SpacingRule.AUTO?{paddingTop:a,paddingBottom:c,contentHeight:s*r,lineSpacingApply:r}:{paddingTop:a,paddingBottom:c,contentHeight:Math.max(s,r),lineSpacingApply:s};let u=0;return i===_.SpacingRule.AUTO?u=s*t:u=s,r+n*2<u&&(a=c=(u-r)/2),{paddingTop:a,paddingBottom:c,contentHeight:r,lineSpacingApply:u}}function $_(r,n,t,e,s){var c;if(!s)return;const i=(c=t.parent)==null?void 0:c.parent;if(!i)return;const o=new Map,a=N_(t);s.forEach(u=>{if(!u)return;const{initialState:l,drawingOrigin:D}=u;if(l||!D)return;const{objectTransform:f}=D,{positionH:p,positionV:C,size:m,angle:F}=f,{width:b=0,height:S=0}=m;u.aLeft=FD(p,t,i,b,a)||0,u.aTop=CD(C,i,r,n,S,e,a)||0,u.width=b,u.height=S,u.angle=F,u.initialState=!0,o.set(u.objectId,u)}),i.skeDrawings=new Map([...i.skeDrawings,...o])}function N_(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 c=a-1;c>=0;c--)if(o[c].paragraphStart)return!1}}return!0}function M7(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 k_(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 H_(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 X_(r,n,t){const{hanging:e,indentStart:s}=r,{hanging:i,indentStart:o}=n;e===void 0&&(r.hanging=i),s===void 0&&(r.indentStart=P1(o||0,t)-P1(i||0,t))}function Y_(r){return!r.divides[0].glyphGroup[0]}function z_(r,n,t,e,s){return[]}function W_(r,n,t){return j_(r,n,t)}function j_(r,n,t){return t===_.GlyphType.DECIMAL?P7(r,n):t===_.GlyphType.ZERO_DECIMAL?G_(r,n):t===_.GlyphType.UPPER_ALPHA?U_(r,n):t===_.GlyphType.ALPHA?V_(r,n):t===_.GlyphType.UPPER_ROMAN?K_(r,n):t===_.GlyphType.ROMAN?J_(r,n):P7(r,n)}function P7(r,n){return(r+n).toString()}function G_(r,n){const t=r+n;return t<10?`0${t}`:t.toString()}function U_(r,n){return _.numberToListABC(r+n-1,!0)}function V_(r,n){return _.numberToListABC(r+n-1,!1)}function K_(r,n){return Q4(r+n,!0)}function J_(r,n){return Q4(r+n,!1)}function Q4(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 Z_(r,n,t,e){var D,f;if(!r||!n)return;const{listId:s,listType:i,nestingLevel:o=0,textStyle:a}=r,c=n[i];return!c||!c.nestingLevel?L7(s,(D=t==null?void 0:t[o])==null?void 0:D.startIndexItem):c.nestingLevel[o]?q_(s,o,c.nestingLevel,t,a):L7(s,(f=t==null?void 0:t[o])==null?void 0:f.startIndexItem)}function L7(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 q_(r,n,t,e,s,i){var O,y;const o=t[n],{bulletAlignment:a,glyphFormat:c,textStyle:u,startNumber:l,glyphType:D,glyphSymbol:f,indentFirstLine:p,hanging:C,indentStart:m}=o,F={...s,...u},b=E2(F);let S;f?S=f:S=Q_(c,n,t,e);const T=M1.getTextSize(S,b),v=(y=(O=e==null?void 0:e[n])==null?void 0:O.startIndexItem)!=null?y:1;return{listId:r,symbol:S,ts:F,fontStyle:b,startIndexItem:v+1,bBox:T,nestingLevel:o,bulletAlign:a,bulletType:f?!1:!!D,indentFirstLine:p,hanging:C,indentStart:m}}function Q_(r,n,t,e){var a;const s=r.split("%"),o=[s[0]];for(let c=1;c<s.length;c++){const u=s[c],{level:l,suffix:D}=ed(u);let f=((a=e==null?void 0:e[l])==null?void 0:a.startIndexItem)||1;l!==n&&(e==null?void 0:e[l])!==null&&(f-=1);const p=td(f,t[l]);o.push(p,D)}return o.join("")}function td(r=1,n){const{startNumber:t,glyphType:e,glyphSymbol:s}=n;return s||(e?W_(r,t,e):"●")}function ed(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 nd(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 c=s==null?void 0:s[a];o[a]=c||null}return o}function sd(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 id(r){return{objectId:r.objectId,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:r}}function $7(r){return r.pageNumber+1}function rd(r,n,t,e,s,i){const{lists:o,drawings:a={},localeService:c}=s,{endIndex:u,startIndex:l,blocks:D=[]}=e,f=t.getParagraph(u)||{startIndex:0},{paragraphStyle:p={},bullet:C}=f,{skeHeaders:m,skeFooters:F,skeListLevel:b,drawingAnchor:S}=i,T=new Map,v={paragraphIndex:u,paragraphStyle:p,paragraphAffectSkeDrawings:T,skeHeaders:m,skeFooters:F,drawingAnchor:S},O=nd(C,b),y=Z_(C,o,O);sd(C,y,b),v.bulletSkeleton=y;const w=new Map;for(let R=0,L=D.length;R<L;R++){const N=D[R],$=t.getCustomBlock(N);if($==null)continue;w.set(N,$);const P=$.blockId,X=a[P];X.layoutType!==_.PositionedObjectLayoutType.INLINE&&T.set(P,id(X))}let B=[n],A=!0,I=l;for(const{text:R,glyphs:L}of r){I+=R.length;const N=()=>{L.length!==0&&(B=M_(L,B,s,v,A),A=!1)};if(R.endsWith(_.DataStreamTreeTokenType.CUSTOM_BLOCK)){let $=w.get(I);if($==null&&($=t.getCustomBlock(I)),$!=null){const P=$.blockId;a[P].layoutType===_.PositionedObjectLayoutType.INLINE&&(B=z_())}N();continue}else if(R.endsWith(_.DataStreamTreeTokenType.PAGE_BREAK)){N(),B.push(O2(s,i,$7(B[B.length-1]),r2.PAGE)),T.clear();continue}else if(R.endsWith(_.DataStreamTreeTokenType.COLUMN_BREAK)){N();const $=B[B.length-1],P=W2($);P&&!P.isLast?M4(P.column,!0):B.push(O2(s,i,$7($),r2.COLUMN));continue}N()}return B}function od(r){switch(r){case"–":case"—":return .2;case".":case",":return .8;case":":case";":return .3;case"،":case"۔":return .4;default:return 0}}function ad(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 ud(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 cd(r){const n=r.glyphGroup.filter(e=>e.isJustifiable).length,t=r.glyphGroup[r.glyphGroup.length-1];return w2(t.content)?n-1:n}function ld(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}G4(r.glyphGroup)}function hd(r,n){const{divides:t}=r;for(let e=0;e<t.length;e++){const s=t[e],{width:i}=s;let o=C7(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],p=od(f.content)*f.width;a+=p}let c=0,u=0;const l=ad(s),D=ud(s);if(a<0&&l>0)c=Math.max(a/l,-1),a=Math.min(a+l,0);else if(n===_.HorizontalAlign.JUSTIFIED){D>0&&(c=Math.min(a/D,1),a=Math.max(a-D,0));const f=cd(s);f>0&&a>0&&(u=a/f,a=0)}(c!==0||u!==0)&&(ld(s,c,u),o=C7(s))}n===_.HorizontalAlign.CENTER?s.paddingLeft=(i-o)/2:n===_.HorizontalAlign.RIGHT&&(s.paddingLeft=i-o)}}}function Dd(r){for(const n of r.divides){const t=n.glyphGroup[n.glyphGroup.length-1];if(n.isFull&&b2(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 _d(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(q2(e.content)){const i=e.adjustability.shrinkability[0];V4(e,i)}if(Z2(s.content)){const i=s.adjustability.shrinkability[1];U4(s,i)}}}function dd(r,n){pD(r,t=>{if(t.paragraphIndex!==n.startIndex)return;const{paragraphStyle:e={}}=n,{horizontalAlign:s=_.HorizontalAlign.UNSPECIFIED}=e;_d(t),Dd(t),hd(t,s)})}function fd(r,n,t,e,s){ED();const{endIndex:i,content:o=""}=n,a=r.getParagraph(i)||{startIndex:0},{paragraphStyle:c={}}=a,u=E_(o,r,n,e,c),l=rd(u,t,r,n,e,s);return dd(l,a),l}function tt(r,n,t,e,s,i){const o=[],a=new Map;for(const c of n.children){let u=[],l=t;o.length>0&&(l=o[o.length-1]),c.nodeType===_.DataStreamTreeNodeType.PARAGRAPH?u=fd(r,c,l,e,s):(c.nodeType,_.DataStreamTreeNodeType.TABLE),u.length===0&&(u=yD()),gd(o,u)}return{pages:o,renderedBlockIdMap:a}}function gd(r,n){const t=r.length-1,e=r[t],s=n[0];e===s&&n.splice(0,1),r.push(...n)}const pd={columnProperties:[],columnSeparatorType:_.ColumnSeparatorType.NONE,sectionType:_.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0};class a2 extends exports.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 a2(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 c of o.divides)for(const u of c.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,c=this.getSkeletonData();if(!e||!i||!o||!a||!c)return;const u=e.glyphGroup.indexOf(t),l=s.divides.indexOf(e),D=i.lines.indexOf(s),f=o.columns.indexOf(i),p=a.sections.indexOf(o),C=c.pages.indexOf(a);return{glyph:u,divide:l,line:D,column:f,section:p,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:c,line:u,column:l,section:D,page:f}=s;return{glyph:c.glyphGroup.indexOf(a),divide:u.divides.indexOf(c),line:l.lines.indexOf(u),column:D.columns.indexOf(l),section:f.sections.indexOf(D),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:c,isBack:u}=t;let{glyph:l}=t;u===!0&&(l-=1),l=l<0?0:l;const D=e.pages[c].sections[a].columns[o].lines[i].divides[s].glyphGroup;return D[l].glyphType===h1.LIST?D[l+1]:D[l]}findNodeByCoord(t,e,s,i){const{x:o,y:a}=t;this._findLiquid.reset();const c=this.getSkeletonData();if(c==null)return;const u=c.pages;let l=[],D=[],f=Number.POSITIVE_INFINITY;for(let p=0,C=u.length;p<C;p++){const m=u[p];this._findLiquid.translatePagePadding(m);const F=m.sections;for(const b of F){const{columns:S,height:T}=b;this._findLiquid.translateSection(b);for(const v of S){const{lines:O,width:y}=v;this._findLiquid.translateColumn(v);const w=O.length;for(let B=0;B<w;B++){const A=O[B],{divides:I,type:R,lineHeight:L=0}=A;if(R!==R2.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(A);const{y:N}=this._findLiquid,$=N,P=N+L,X=Math.abs(a-P),H=I.length;for(let j=0;j<H;j++){const W=I[j],{glyphGroup:U,width:J}=W;this._findLiquid.translateSave(),this._findLiquid.translateDivide(W);const{x:K}=this._findLiquid;for(const e1 of U){if(!e1.content||e1.content.length===0)continue;const{width:D1,left:a1}=e1,Q=K+a1,V=K+a1+D1,u1=Math.abs(o-V);if(a>=$&&a<=P){if(o>=Q&&o<=V)return{node:e1,ratioX:o/(Q+V),ratioY:a/($+P)};f!==Number.NEGATIVE_INFINITY&&(l=[],D=[]),l.push({node:e1,ratioX:o/(Q+V),ratioY:a/($+P)}),D.push(u1),f=Number.NEGATIVE_INFINITY;continue}X<f&&(f=X,l=[],D=[]),X===f&&(l.push({node:e1,ratioX:o/(Q+V),ratioY:a/($+P)}),D.push(u1))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}}}this._findLiquid.restorePagePadding(m),this._translatePage(m,e,s,i)}return this._getNearestNode(l,D)}_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 c=-1,u=-1;return e===y1.VERTICAL?(c=s,u=a+i):e===y1.HORIZONTAL&&(c=o+s,u=i),{startX:o,startY:a,endX:c,endY:u}}_translatePage(t,e,s,i){this._findLiquid.translatePage(t,e,s,i)}_createSkeleton(t){var u1;const e={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},s=this.getViewModel(),{headerTreeMap:i,footerTreeMap:o}=s,{documentStyle:a,drawings:c,lists:u={}}=s.getDataModel(),l={..._.PRESET_LIST_TYPE,...u},{pageNumberStart:D=1,pageSize:f=e,pageOrient:p=_.PageOrientType.PORTRAIT,defaultHeaderId:C,defaultFooterId:m,evenPageHeaderId:F,evenPageFooterId:b,firstPageHeaderId:S,firstPageFooterId:T,useFirstPageHeaderFooter:v,useEvenPageHeaderFooter:O,marginTop:y=0,marginBottom:w=0,marginRight:B=0,marginLeft:A=0,marginHeader:I=0,marginFooter:R=0,charSpace:L=0,linePitch:N=15.6,gridType:$=_.GridType.LINES,paragraphLineGapDefault:P=0,defaultTabStop:X=10.5,textStyle:H={},renderConfig:j={horizontalAlign:_.HorizontalAlign.LEFT,verticalAlign:_.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:_.WrapStrategy.UNSPECIFIED}}=a,W={headerTreeMap:i,footerTreeMap:o,lists:l,drawings:c,charSpace:L,linePitch:N,gridType:$,localeService:this._localService,paragraphLineGapDefault:P,defaultTabStop:X,documentTextStyle:H},U=this._getNullSke(),{skeHeaders:J,skeFooters:K,skeListLevel:e1,drawingAnchor:D1}=U,a1={skeHeaders:J,skeFooters:K,skeListLevel:e1,drawingAnchor:D1},Q=[];U.pages=Q;const V=this.getViewModel();V.resetCache();for(let q=0,s1=V.children.length;q<s1;q++){const r1=V.children[q],g1=V.getSectionBreak(r1.endIndex)||pd,{pageNumberStart:F1=D,pageSize:_1=f,pageOrient:B1=p,marginTop:H1=y,marginBottom:J1=w,marginRight:d1=B,marginLeft:O1=A,marginHeader:X1=I,marginFooter:Z1=R,defaultHeaderId:w1=C,defaultFooterId:q1=m,evenPageHeaderId:Y1=F,evenPageFooterId:x1=b,firstPageHeaderId:n6=S,firstPageFooterId:s6=T,useFirstPageHeaderFooter:h2=v,useEvenPageHeaderFooter:D2=O,columnProperties:_2=[],columnSeparatorType:M2=_.ColumnSeparatorType.NONE,contentDirection:i6,sectionType:Q1,textDirection:yt,renderConfig:Bt=j}=g1,r6=V.children[q+1],h7=(u1=V.getSectionBreak(r6==null?void 0:r6.endIndex))==null?void 0:u1.sectionType,Ot={defaultHeaderId:w1,evenPageHeaderId:Y1,firstPageHeaderId:n6},wt={defaultFooterId:q1,evenPageFooterId:x1,firstPageFooterId:s6};_1.width===null&&(_1.width=Number.POSITIVE_INFINITY),_1.height===null&&(_1.height=Number.POSITIVE_INFINITY);const D7={pageNumberStart:F1,pageSize:_1,pageOrient:B1,marginTop:H1,marginBottom:J1,marginRight:d1,marginLeft:O1,marginHeader:X1,marginFooter:Z1,headerIds:Ot,footerIds:wt,useFirstPageHeaderFooter:h2,useEvenPageHeaderFooter:D2,columnProperties:_2,columnSeparatorType:M2,contentDirection:i6,sectionType:Q1,sectionTypeNext:h7,textDirection:yt,renderConfig:Bt,...W};let t2=o2(Q),_7=!1;Q1===_.SectionType.CONTINUOUS?(b6(Q),this._addNewSectionByContinuous(t2,_2,M2),_7=!0):t2=O2(D7,a1,t2==null?void 0:t2.pageNumber);const At=tt(V,r1,t2,D7,a1,this._renderedBlockIdMap);h7===_.SectionType.CONTINUOUS&&_2.length>0;const{pages:d7}=At;_7&&d7.splice(0,1),Q.push(...d7)}return b6(Q),this._setPageParent(Q,U),U}_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:c,marginTop:u,marginBottom:l,marginLeft:D,marginRight:f}=t,p=a-D-f,C=c-u-l,m=((o==null?void 0:o.top)||0)+((o==null?void 0:o.height)||0),F=x4(e,s,m,0,p,C-m);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:c}=i;if(!(t<a||t>c))for(const u of o){const{columns:l,st:D,ed:f}=u;if(!(t<D||t>f))for(const p of l){const{lines:C,st:m,ed:F}=p;if(!(t<m||t>F))for(const b of C){const{divides:S,st:T,ed:v}=b,O=S.length;if(!(t<T||t>v))for(let y=0;y<O;y++){const w=S[y],{glyphGroup:B,st:A,ed:I}=w;if(t<A||t>I)continue;let R=t-A;for(const L of B)if(R-=L.count,R<0)return{page:i,section:u,column:p,line:b,divide:w,glyph:L}}}}}}}}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=_.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,c=n-s,u=c,l=o.slice(a,c),D=A1.create(i,l);D.parent=e,D.setIndexRange(a,c-1);const f=o.slice(u),p=A1.create(i,f);p.parent=e,p.setIndexRange(u,u+f.length-1);const C=[],m=[];for(const F of t){const{startIndex:b}=F;if(F.exclude(n))n<b?C.push(F):m.push(F);else{const S=F.split(n);if(S==null){C.push(F);continue}const{firstNode:T,lastNode:v}=S;C.push(T),C.push(v)}}return D.children=C,p.children=m,D._resetBlocks(),p._resetBlocks(),{firstNode:D,lastNode:p}}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=_.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=_.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===_.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]===_.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+n)}}}class L1{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]===_.DataStreamTreeTokenType.SECTION_BREAK){const a=new _.DocumentDataModel({body:n}),c=new L1(a);s-=1;const u=c.children;for(const p of u)this._forEachDown(p,C=>{C.plus(t)});const l=i.split(t);if(l==null)return;const{firstNode:D,lastNode:f}=l;(o=i.parent)==null||o.children.splice(i.getPositionInParent(),1,D,...u,f),this._forEachTop(i.parent,p=>{p.selfPlus(s,p.getPositionInParent());const C=p.children;let m=!1;for(const F of C)F===f&&(m=!0),m&&this._forEachDown(F,b=>{b.plus(s)})})}else s===1&&e[s-1]===_.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 c=a.children;let u=!1;for(const l of c)l.startIndex>t&&(u=!0),u&&this._forEachDown(l,D=>{D.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,c=e.length;a<c;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 c=n[a];if(c===_.DataStreamTreeTokenType.PARAGRAPH){e+=_.DataStreamTreeTokenType.PARAGRAPH;const u=A1.create(_.DataStreamTreeNodeType.PARAGRAPH,e);u.setIndexRange(a-e.length+1,a),u.addBlocks(o),i.push(u),e="",o=[]}else if(c===_.DataStreamTreeTokenType.SECTION_BREAK){const u=A1.create(_.DataStreamTreeNodeType.SECTION_BREAK);this._batchParent(u,i);const l=i[i.length-1];l&&l.content&&(l.content+=_.DataStreamTreeTokenType.SECTION_BREAK),s.push(u),i=[]}else c===_.DataStreamTreeTokenType.TABLE_START?i.push(A1.create(_.DataStreamTreeNodeType.TABLE)):c===_.DataStreamTreeTokenType.TABLE_ROW_START?i.push(A1.create(_.DataStreamTreeNodeType.TABLE_ROW)):c===_.DataStreamTreeTokenType.TABLE_CELL_START?i.push(A1.create(_.DataStreamTreeNodeType.TABLE_CELL)):c===_.DataStreamTreeTokenType.TABLE_END?this._processPreviousNodesUntil(i,_.DataStreamTreeNodeType.TABLE):c===_.DataStreamTreeTokenType.TABLE_ROW_END?this._processPreviousNodesUntil(i,_.DataStreamTreeNodeType.TABLE_ROW):c===_.DataStreamTreeTokenType.TABLE_CELL_END?this._processPreviousNodesUntil(i,_.DataStreamTreeNodeType.TABLE_CELL):(c===_.DataStreamTreeTokenType.CUSTOM_BLOCK&&o.push(a),e+=c)}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,_.DataStreamTreeNodeType.TABLE),t===_.DataStreamTreeNodeType.TABLE_CELL){const o=e[0],a=e[e.length];o.content=_.DataStreamTreeTokenType.TABLE_CELL_START+o.content||"",o.startIndex-=1,a.content+=_.DataStreamTreeTokenType.TABLE_CELL_END,a.endIndex+=1}else if(t===_.DataStreamTreeNodeType.TABLE_ROW){const o=e[0].children[0];let a=e[e.length];a=a.children[a.children.length-1],o.content=_.DataStreamTreeTokenType.TABLE_ROW_START+o.content||"",o.startIndex-=1,a.content+=_.DataStreamTreeTokenType.TABLE_ROW_END,a.endIndex+=1}else if(t===_.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=_.DataStreamTreeTokenType.TABLE_START+o.content||"",o.startIndex-=1,a.content+=_.DataStreamTreeTokenType.TABLE_END,a.endIndex+=1}}_batchParent(n,t,e=_.DataStreamTreeNodeType.SECTION_BREAK){for(const i of t)i.parent=n,n.children.push(i);const s=e===_.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 L1(s));for(const[e,s]of t)this.footerTreeMap.set(e,new L1(s))}_getParagraphByIndex(n,t){for(const e of n){const{children:s}=e;if(!e.exclude(t))return e.nodeType===_.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,c=0;for(;c<a;){const u=n[c],{startIndex:l,endIndex:D,children:f}=u;if(this._deleteTree(f,t,e),s===i&&i===D){if(u.nodeType===_.DataStreamTreeNodeType.PARAGRAPH){const p=this._getNextNode(u);if(p==null){c++;continue}u.minus(s,i),u.merge(p),a--}}else if(s<=l&&i>=D){u.remove(),a--;continue}else if(l<=s&&D>=i)u.minus(s,i);else if(i>l&&i<D){if(u.minus(l,i),o!=null){o.merge(u),o=null,a--;continue}}else s>l&&s<D?(u.minus(s,D),o=u):l>i&&u.plus(-e);c++}}_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 c;const e=n.startIndex,s=n.endIndex,i=n.split(t);if(i==null)return;const{firstNode:o,lastNode:a}=i;o.content+=_.DataStreamTreeTokenType.PARAGRAPH,o.selfPlus(1),o.plus(e),this._forEachDown(a,u=>{u.plus(e+1)}),(c=n.parent)==null||c.children.splice(n.getPositionInParent(),1,o,a),this._forEachTop(n.parent,u=>{u.selfPlus(1,u.getPositionInParent());const l=u.children;let D=!1;for(const f of l)f!==a&&(f.startIndex>=s+1&&(D=!0),D&&this._forEachDown(f,p=>{p.plus(1)}))})}}var md=Object.defineProperty,Fd=Object.getOwnPropertyDescriptor,Cd=(r,n,t,e)=>{for(var s=e>1?void 0:e?Fd(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&&md(n,t,s),s},N7=(r,n)=>(t,e)=>n(t,e,r);function m2(r,n=0){const t=r==null?void 0:r.getSkeletonData(),e=v1(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 c=0,u=0;const l=[];mD([i],f=>{const{lines:p,width:C,spaceWidth:m}=f,{rotatedHeight:F,rotatedWidth:b}=G6(p,C,e);u+=F,l.push({rotatedWidth:b,spaceWidth:m})});const D=l.length;for(let f=0;f<D;f++){const{rotatedWidth:p}=l[f];f===0&&(c+=p)}return{width:c,height:u}}const k7={t:0,b:0,l:2,r:2},et="RENDER_RAW_FORMULA";exports.SpreadsheetSkeleton=class extends exports.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 _.ObjectMatrix);h(this,"_stylesCache",{background:{},backgroundPositions:new _.ObjectMatrix,font:{},border:new _.ObjectMatrix});h(this,"_renderedCellCache",new _.ObjectMatrix);h(this,"_showGridlines",_.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 exports.SpreadsheetSkeleton(t,e,s,i,o,a)}getCellData(){return this._cellData}getsStyles(){return this._styles}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(et).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(!_.Tools.isArray(t))return[];const e=[],{mergeData:s,rowData:i}=this._config,o=i;for(const c of t){const{startRow:u,endRow:l,startColumn:D,endColumn:f}=c;for(let p=u;p<=l;p++){if(e.some(({row:m})=>m===p)||((a=o[p])==null?void 0:a.ia)===_.BooleanNumber.FALSE)continue;if(c4(p,D,f,s)){const m=this._calculateRowAutoHeight(p);e.push({row:p,autoHeight:m})}}}return e}_calculateRowAutoHeight(t){var l,D;const{columnCount:e,columnData:s,mergeData:i,defaultRowHeight:o}=this._config,a=s;let c=o;const u=this._worksheet;if(!u)return c;for(let f=0;f<e;f++){const{isMerged:p,isMergedMainCell:C}=S2(t,f,i);if(p||C)continue;const m=u.getCell(t,f);if(m!=null&&m.interceptorAutoHeight){c=Math.max(c,m.interceptorAutoHeight);continue}const F=m&&this._getCellDocumentModel(m);if(F==null)continue;const{documentModel:b,textRotation:S,wrapStrategy:T,paddingData:v}=F;if(b==null)continue;const O=new L1(b),{vertexAngle:y}=d2(S),w=(l=a[f])==null?void 0:l.w;typeof w=="number"&&T===_.WrapStrategy.WRAP&&b.updateDocumentDataPageSize(w);const B=a2.create(O,this._localService);B.calculate();let{height:A=0}=(D=m2(B,y))!=null?D:{};if(B){const I=B.getSkeletonData(),{marginTop:R,marginBottom:L,marginLeft:N,marginRight:$}=I.pages[I.pages.length-1],P=Math.abs(v1(y));A+=R*Math.cos(P)+$*Math.sin(P)+L*Math.cos(P)+N*Math.sin(P)}c=Math.max(c,A)}return Math.min(c,J7)}_updateLayout(){if(!this.dirty)return;const{rowData:t,columnData:e,defaultRowHeight:s,defaultColumnWidth:i,rowCount:o,columnCount:a,rowHeader:c,columnHeader:u,showGridlines:l}=this._config,{rowTotalHeight:D,rowHeightAccumulation:f}=this._generateRowMatrixCache(o,t,s),{columnTotalWidth:p,columnWidthAccumulation:C}=this._generateColumnMatrixCache(a,e,i);return this._rowHeaderWidth=c.hidden!==_.BooleanNumber.TRUE?this._dynamicallyUpdateRowHeaderWidth(c):0,this._columnHeaderHeight=u.hidden!==_.BooleanNumber.TRUE?u.height:0,this._rowTotalHeight=D,this._rowHeightAccumulation=f,this._columnTotalWidth=p,this._columnWidthAccumulation=C,this._showGridlines=l,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 c=new _.ObjectMatrix;for(;a;){a=!1;for(let u=0;u<o.length;u++){const{startRow:l,startColumn:D,endRow:f,endColumn:p}=o[u];if(c.getValue(l,D))continue;l4({left:e,top:t,right:i,bottom:s},{left:D,top:l,right:p,bottom:f})&&(t=Math.min(t,l),e=Math.min(e,D),s=Math.max(s,f),i=Math.max(i,p),c.setValue(l,D,!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 c=i,u=i;return e===_.HorizontalAlign.CENTER?(c=this._getOverflowBound(s,i,0,a/2,e),u=this._getOverflowBound(s,i,o-1,a/2,e)):e===_.HorizontalAlign.RIGHT?c=this._getOverflowBound(s,i,0,a):u=this._getOverflowBound(s,i,o-1,a),{startColumn:c,endColumn:u}}getNoMergeCellPositionByIndex(t,e){const{rowHeightAccumulation:s,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this;let{startY:c,endY:u,startX:l,endX:D}=W1(t,e,s,i);return c+=a,u+=a,l+=o,D+=o,{startY:c,endY:u,startX:l,endX:D}}getNoMergeCellPositionByIndexWithNoHeader(t,e){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,{startY:o,endY:a,startX:c,endX:u}=W1(t,e,s,i);return{startY:o,endY:a,startX:c,endX:u}}calculateCellIndexByPosition(t,e,s,i,o){const{row:a,column:c}=this.getCellPositionByOffset(t,e,s,i,o);return this.getCellByIndex(a,c)}getCellPositionByOffset(t,e,s,i,o){const a=this.getRowPositionByOffsetY(e,i,o),c=this.getColumnPositionByOffsetX(t,s,o);return{row:a,column:c}}getColumnPositionByOffsetX(t,e,s){t=this.getTransformOffsetX(t,e,s);const{columnWidthAccumulation:i}=this;let o=_.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=_.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,c=s2(t,e,s,i,this._config.mergeData),{isMerged:u,isMergedMainCell:l}=c;let{startY:D,endY:f,startX:p,endX:C,mergeInfo:m}=c;return D+=a,f+=a,p+=o,C+=o,m=E6(m,o,a),{actualRow:t,actualColumn:e,startY:D,endY:f,startX:p,endX:C,isMerged:u,isMergedMainCell:l,mergeInfo:m}}getCellByIndexWithNoHeader(t,e){const{rowHeightAccumulation:s,columnWidthAccumulation:i}=this,o=s2(t,e,s,i,this._config.mergeData),{isMerged:a,isMergedMainCell:c}=o,{startY:u,endY:l,startX:D,endX:f,mergeInfo:p}=o,C=E6(p,0,0);return{actualRow:t,actualColumn:e,startY:u,endY:l,startX:D,endX:f,isMerged:a,isMergedMainCell:c,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,void 0,void 0,!0);if(e!=null)return e.documentModel==null&&(e.documentModel=this._getDocumentDataByStyle("",{},{})),e;const s="";let i="document";const o={a:0,v:_.BooleanNumber.FALSE},a=_.HorizontalAlign.UNSPECIFIED,c=_.VerticalAlign.UNSPECIFIED,u=_.WrapStrategy.UNSPECIFIED,l=k7;return i=E2({},this._localService).fontCache,{documentModel:this._getDocumentDataByStyle(s,{},{}),fontString:i,textRotation:o,wrapStrategy:u,verticalAlign:c,horizontalAlign:a,paddingData:l}}getCellDocumentModelWithFormula(t){return this._getCellDocumentModel(t,!0,!0,!0)}_getCellDocumentModel(t,e=!1,s=!1,i=!1){var m;const o=this._styles.getStyleByCell(t);if(!t)return;let a,c="document";const u=this._getOtherStyle(o),l=i?{a:0,v:_.BooleanNumber.FALSE}:u.textRotation||{a:0,v:_.BooleanNumber.FALSE};let D=u.horizontalAlign||_.HorizontalAlign.UNSPECIFIED;const f=u.verticalAlign||_.VerticalAlign.UNSPECIFIED,p=u.wrapStrategy||_.WrapStrategy.UNSPECIFIED,C=u.paddingData||k7;if(t.f&&s)a=this._getDocumentDataByStyle(t.f.toString(),{},{verticalAlign:f}),D=_.HorizontalAlign.UNSPECIFIED;else if(t.p){const{centerAngle:F,vertexAngle:b}=d2(l);a=this._updateConfigAndGetDocumentModel(e?_.Tools.deepClone(t.p):t.p,D,{horizontalAlign:D,verticalAlign:f,centerAngle:F,vertexAngle:b,wrapStrategy:p})}else if(t.v!=null){const F=this._getFontFormat(o);c=E2(F,this._localService).fontCache,a=this._getDocumentDataByStyle(_.extractPureTextFromCell(t),F,{...u,textRotation:l,cellValueType:t.t})}return{documentModel:a,fontString:c,textRotation:l,wrapStrategy:p,verticalAlign:f,horizontalAlign:D,paddingData:C,fill:(m=o==null?void 0:o.bg)==null?void 0:m.rgb}}getDecomposedOffset(t,e){let s=_.searchArray(this._columnWidthAccumulation,t),i=0;s===-1||s===0?(s=0,i=t):i=t-this._columnWidthAccumulation[s-1];let o=_.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:c,wrapStrategy:u}=s,l=this._cellData.getValue(t,e),{t:D=_.CellValueType.STRING}=l||{};let f=c;if(c===_.HorizontalAlign.UNSPECIFIED&&(a===l1&&o===l1?f=_.HorizontalAlign.CENTER:(o>0&&o!==l1||o===-l1)&&(f=_.HorizontalAlign.RIGHT)),(u===_.WrapStrategy.OVERFLOW||u===_.WrapStrategy.UNSPECIFIED)&&D!==_.CellValueType.NUMBER&&D!==_.CellValueType.BOOLEAN&&c!==_.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(t,e))return!0;let p=m2(i,o);if(!p)return!0;if(o!==0){const{startY:b,endY:S,startX:T,endX:v}=s2(t,e,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),O=v-T,y=S-b;p.height>y&&(p={width:y/Math.tan(Math.abs(o))+O,height:y})}const C=this.getOverflowPosition(p,f,t,e,this.getColumnCount()),{startColumn:m,endColumn:F}=C;if(m===F)return!0;this.appendToOverflowCache(t,e,m,F)}else if(u===_.WrapStrategy.WRAP&&o!==0){if(this.intersectMergeRange(t,e))return!0;const{startY:p,endY:C}=s2(t,e,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),m=C-p;i.getViewModel().getDataModel().updateDocumentDataPageSize(m),i.calculate();const F=m2(i,o);if(!F)return!0;const{startColumn:b,endColumn:S}=this.getOverflowPosition(F,f,t,e,this.getColumnCount());if(b===S)return!0;this.appendToOverflowCache(t,e,b,S)}}_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,c=-1,u=-1,l=-1;const D=_.searchArray(t,Math.round(s.top)-this.columnHeaderHeightAndMarginTop),f=_.searchArray(t,Math.round(s.bottom)-this.columnHeaderHeightAndMarginTop);D===-1&&f===0?(a=-1,c=-1):(D===-1?a=0:a=D,f===Number.POSITIVE_INFINITY||f>=i?c=i-1:c=f);const p=_.searchArray(e,Math.round(s.left)-this.rowHeaderWidthAndMarginLeft),C=_.searchArray(e,Math.round(s.right)-this.rowHeaderWidthAndMarginLeft);return p===-1&&C===0?(u=-1,l=-1):(p===-1?u=0:u=p,C===Number.POSITIVE_INFINITY||C>=o?l=o-1:l=C),{startRow:a,endRow:c,startColumn:u,endColumn:l}}_generateRowMatrixCache(t,e,s){let i=0;const o=[],a=e;for(let c=0;c<t;c++){let u=s;if(a[c]!=null){const l=a[c];if(!l)continue;const{h:D=s,ah:f,ia:p}=l;(p==null||p===_.BooleanNumber.TRUE)&&typeof f=="number"?u=f:u=D,l.hd===_.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 c=0;c<t;c++){let u=s;if(a[c]!=null){const l=a[c];if(!l)continue;l.w!=null&&(u=l.w),l.hd===_.BooleanNumber.TRUE&&(u=0)}i+=u,o.push(i)}return{columnTotalWidth:i,columnWidthAccumulation:o}}_getOverflowBound(t,e,s,i,o=_.HorizontalAlign.LEFT){var c,u;let a=0;if(e>s){const l=this._columnWidthAccumulation.length-1;for(let D=e;D>=s;D--){const f=D,p=(c=this._worksheet)==null?void 0:c.getCell(t,f);if(!_.isEmptyCell(p)&&f!==e||this.intersectMergeRange(t,f))return f===e?f:f+1>l?l:f+1;const{startX:C,endX:m}=W1(t,f,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===_.HorizontalAlign.CENTER&&f===e?a+=(m-C)/2:a+=m-C,i<a)return f}return e}for(let l=e;l<=s;l++){const D=l,f=(u=this._worksheet)==null?void 0:u.getCell(t,D);if(!_.isEmptyCell(f)&&D!==e||this.intersectMergeRange(t,D))return D===e?D:D-1<0?0:D-1;const{startX:p,endX:C}=W1(t,D,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===_.HorizontalAlign.CENTER&&D===e?a+=(C-p)/2:a+=C-p,i<a)return D}return s}intersectMergeRange(t,e){const s=this.dataMergeCache;for(const i of s){const{startRow:o,endRow:a,startColumn:c,endColumn:u}=i;if(t>=o&&t<=a&&e>=c&&e<=u)return!0}return!1}_calculateStylesCache(){const t=this._dataMergeCache,e=this._rowColumnSegment,s=this.columnWidthAccumulation,{startRow:i,endRow:o,startColumn:a,endColumn:c}=e;if(!(c===-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 l=a;l<=c;l++)this._setCellCache(u,l,!1);for(let l=0;l<a;l++)this._setCellCache(u,l,!0);if(c!==0)for(let l=c+1;l<s.length;l++)this._setCellCache(u,l,!0)}}}_resetCache(){this._stylesCache={background:{},backgroundPositions:new _.ObjectMatrix,font:{},border:new _.ObjectMatrix},this._renderedCellCache=new _.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 y;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:B}=S2(t,e,this._dataMergeCache);if(w&&!B)return!0;if(!B)return!0}const u=this._stylesCache,l=this._styles.getStyleByCell(a);if(!s&&l&&l.bg&&l.bg.rgb){const w=l.bg.rgb;u.background[w]||(u.background[w]=new _.ObjectMatrix),u.background[w].setValue(t,e,w);const A=this.getCellByIndexWithNoHeader(t,e);(y=u.backgroundPositions)==null||y.setValue(t,e,A)}if(!s&&l&&l.bd&&(i?(this._setMergeBorderProps(Y.TOP,u,i),this._setMergeBorderProps(Y.BOTTOM,u,i),this._setMergeBorderProps(Y.LEFT,u,i),this._setMergeBorderProps(Y.RIGHT,u,i)):this.intersectMergeRange(t,e)||(this._setBorderProps(t,e,Y.TOP,l,u),this._setBorderProps(t,e,Y.BOTTOM,l,u),this._setBorderProps(t,e,Y.LEFT,l,u),this._setBorderProps(t,e,Y.RIGHT,l,u)),this._setBorderProps(t,e,Y.TL_BR,l,u),this._setBorderProps(t,e,Y.TL_BC,l,u),this._setBorderProps(t,e,Y.TL_MR,l,u),this._setBorderProps(t,e,Y.BL_TR,l,u),this._setBorderProps(t,e,Y.ML_TR,l,u),this._setBorderProps(t,e,Y.BC_TR,l,u)),o===!0)return this._makeDocumentSkeletonDirty(t,e),!0;if(_.isNullCell(a))return;const D=a&&this._getCellDocumentModel(a,void 0,this._renderRawFormula);if(D==null)return;const{documentModel:f}=D;if(f==null)return;const{fontString:p,textRotation:C,wrapStrategy:m,verticalAlign:F,horizontalAlign:b}=D,S=new L1(f);u.font[p]||(u.font[p]=new _.ObjectMatrix);const T=u.font[p],{vertexAngle:v,centerAngle:O}=d2(C);if(S){const w=a2.create(S,this._localService);w.calculate();const B={documentSkeleton:w,vertexAngle:v,centerAngle:O,verticalAlign:F,horizontalAlign:b,wrapStrategy:m};T.setValue(t,e,B),this._calculateOverflowCell(t,e,B)}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.renderConfig=s;const i=t.body.paragraphs||[];for(const a of i)a.paragraphStyle||(a.paragraphStyle={}),a.paragraphStyle.horizontalAlign=e;return new _.DocumentDataModel(t)}_getDocumentDataByStyle(t,e,s){const i=t.length,{textRotation:o,paddingData:a={t:2,r:2,b:0,l:2},horizontalAlign:c=_.HorizontalAlign.UNSPECIFIED,verticalAlign:u=_.VerticalAlign.UNSPECIFIED,wrapStrategy:l=_.WrapStrategy.UNSPECIFIED,cellValueType:D}=s,{t:f,r:p,b:C,l:m}=a||{},{vertexAngle:F,centerAngle:b}=d2(o),S={id:"d",body:{dataStream:`${t}${_.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:e,st:0,ed:i}],paragraphs:[{startIndex:i,paragraphStyle:{horizontalAlign:c}}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginTop:f,marginBottom:C,marginRight:p,marginLeft:m,renderConfig:{horizontalAlign:c,verticalAlign:u,centerAngle:b,vertexAngle:F,wrapStrategy:l,cellValueType:D}}};return new _.DocumentDataModel(S)}_setMergeBorderProps(t,e,s){var D;if(!this._worksheet||!e.border)return;const i=[];let o=!0,a=s.startRow,c=s.endRow,u=s.startRow,l=s.startColumn;t===Y.TOP?(u=s.startRow,a=s.startColumn,c=s.endColumn):t===Y.BOTTOM?(u=s.endRow,a=s.startColumn,c=s.endColumn):t===Y.LEFT?(l=s.startColumn,a=s.startRow,c=s.endRow):t===Y.RIGHT&&(l=s.endColumn,a=s.startRow,c=s.endRow);for(let f=a;f<=c;f++){t===Y.TOP||t===Y.BOTTOM?l=f:(t===Y.LEFT||t===Y.RIGHT)&&(u=f);const p=this._worksheet.getCell(u,l);if(!p){o=!1;break}const C=this._styles.getStyleByCell(p);if(!C){o=!1;break}const m=(D=C.bd)==null?void 0:D[t];if(m){const F=_.getColorStyle(m.cl)||$1;i.push({r:u,c:l,style:m.s,color:F})}else o=!1}o&&i.forEach(f=>{const{r:p,c:C,style:m,color:F}=f;e.border.getValue(p,C)||e.border.setValue(p,C,{}),e.border.getValue(p,C)[t]={type:t,style:m,color:F}})}_setBorderProps(t,e,s,i,o){var l,D,f;const a=(l=i.bd)==null?void 0:l[s];if(!a||!o.border)return!0;const c=_.getColorStyle(a.cl)||$1,u=o.border;if(u.getValue(t,e)||u.setValue(t,e,{[s]:{}}),s===Y.TOP){if(((D=u.getValue(t-1,e))==null?void 0:D[Y.BOTTOM])&&_.isWhiteColor(c))return!0}else if(s===Y.LEFT&&((f=u.getValue(t,e-1))==null?void 0:f[Y.RIGHT])&&_.isWhiteColor(c))return!0;u.getValue(t,e)[s]={type:s,style:a.s,color:c}}_getFontFormat(t){if(!t)return{};const{ff:e,fs:s,it:i,bl:o,ul:a,st:c,ol:u,cl:l}=t,D={};return e&&(D.ff=e),s&&(D.fs=s),i&&(D.it=i),o&&(D.bl=o),a&&(D.ul=a),c&&(D.st=c),u&&(D.ol=u),l&&(D.cl=l),D}_getOtherStyle(t){if(!t)return{};const{tr:e,td:s,ht:i,vt:o,tb:a,pd:c}=t;return{textRotation:e,textDirection:s,horizontalAlign:i,verticalAlign:o,wrapStrategy:a,paddingData:c}}_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:c}=e,u=[];for(let l=0;l<t.length;l++){const{startRow:D,endRow:f,startColumn:p,endColumn:C}=t[l];for(let m=i;m<=a;m++){let F=!1;for(let b=o;b<=c;b++)if(m>=D&&m<=f&&b>=p&&b<=C){u.push({startRow:D,endRow:f,startColumn:p,endColumn:C}),F=!0;break}if(F)break}}return u}};exports.SpreadsheetSkeleton=Cd([N7(4,U1.Inject(_.LocaleService)),N7(5,_.IContextService)],exports.SpreadsheetSkeleton);const Ed="DefaultFontExtension",bd=30;class nt extends k1{constructor(){super(...arguments);h(this,"uKey",Ed);h(this,"Z_INDEX",bd)}getDocuments(){const t=this.parent;return t==null?void 0:t.getDocuments()}draw(t,e,s,i){const{stylesCache:o,dataMergeCache:a,overflowCache:c,worksheet:u}=s,{font:l}=o;if(!s||!u)return;const{rowHeightAccumulation:D,columnTotalWidth:f,columnWidthAccumulation:p,rowTotalHeight:C}=s;if(!D||!p||f===void 0||C===void 0||!u)return;t.save();const m=this._getScale(e);l&&Object.keys(l).forEach(F=>{l[F].forValue((S,T,v)=>{var D1,a1,Q,V,u1;const O=this.getCellIndex(S,T,D,p,a);let{startY:y,endY:w,startX:B,endX:A}=O;const{isMerged:I,isMergedMainCell:R,mergeInfo:L}=O;if(I||(R&&(y=L.startY,w=L.endY,B=L.startX,A=L.endX),!this.isRenderDiffRangesByRow(L.startRow,L.endRow,i)))return!0;const N=u.getCell(S,T)||{};if((D1=N.fontRenderExtension)!=null&&D1.isSkip)return!0;const $=c.getValue(S,T),{horizontalAlign:P,vertexAngle:X=0,centerAngle:H=0}=v;let j=P;P===_.HorizontalAlign.UNSPECIFIED&&(H===l1&&X===l1?j=_.HorizontalAlign.CENTER:(X>0&&X!==l1||X===-l1)&&(j=_.HorizontalAlign.RIGHT)),t.save(),t.beginPath();const W=(Q=(a1=N.fontRenderExtension)==null?void 0:a1.rightOffset)!=null?Q:0,U=(u1=(V=N.fontRenderExtension)==null?void 0:V.leftOffset)!=null?u1:0;let J=!0;X===0&&(B=B+U,A=A-W,(W!==0||U!==0)&&(J=!1));const K=A-B,e1=w-y;if($&&J){const{startColumn:q,startRow:s1,endColumn:r1,endRow:g1}=$;q===r1&&q===T?(t.rectByPrecision(B+1/m,y+1/m,K-2/m,e1-2/m),t.clip(),t.clearRectForTexture(B+1/m,y+1/m,K-2/m,e1-2/m)):j===_.HorizontalAlign.CENTER?this._clipRectangle(t,s1,g1,q,r1,m,D,p):j===_.HorizontalAlign.RIGHT?this._clipRectangle(t,s1,S,q,T,m,D,p):this._clipRectangle(t,S,g1,T,r1,m,D,p)}else t.rectByPrecision(B+1/m,y+1/m,K-2/m,e1-2/m),t.clip(),t.clearRectForTexture(B+1/m,y+1/m,K-2/m,e1-2/m);t.translate(B,y),this._renderDocuments(t,v,B,y,A,w,S,T,c),t.restore()})}),t.restore()}_renderDocuments(t,e,s,i,o,a,c,u,l){const D=this.getDocuments();if(D==null)throw new Error("documents is null");const{documentSkeleton:f,vertexAngle:p=0,wrapStrategy:C}=e,m=o-s,F=a-i;C===_.WrapStrategy.WRAP&&p===0?(f.getViewModel().getDataModel().updateDocumentDataPageSize(m),f.calculate()):f.getViewModel().getDataModel().updateDocumentDataPageSize(Number.POSITIVE_INFINITY);const b=l.getValue(c,u);if(!(C===_.WrapStrategy.WRAP&&!b&&p===0)){const S=m2(f),T=f.getViewModel().getDataModel().getSnapshot().documentStyle;if(S&&T){const{width:v}=S,{marginRight:O=0,marginLeft:y=0}=T;f.getViewModel().getDataModel().updateDocumentDataPageSize(v+y+O),f.calculate()}}f.makeDirty(!1),D.resize(m,F),D.changeSkeleton(f).render(t)}_clipRectangle(t,e,s,i,o,a,c,u){const l=c[e-1]||0,D=c[s]||c[c.length-1],f=u[i-1]||0,p=u[o]||u[u.length-1];t.rectByPrecision(f,l,p-f,D-l),t.clip(),t.clearRectForTexture(f,l,p-f,D-l)}}V1.add(nt);const Sd="DefaultRowHeaderLayoutExtension";class st extends k1{constructor(){super(...arguments);h(this,"uKey",Sd);h(this,"Z_INDEX",10)}draw(t,e,s){const{rowColumnSegment:i,rowHeaderWidth:o=0,columnHeaderHeight:a=0}=s,{startRow:c,endRow:u,startColumn:l,endColumn:D}=i;if(!s)return;const{rowHeightAccumulation:f,columnTotalWidth:p,columnWidthAccumulation:C,rowTotalHeight:m}=s;if(!f||!C||p===void 0||m===void 0)return;const F=this._getScale(e);t.fillStyle=c1([248,249,250]),t.fillRectByPrecision(0,0,o,m),t.textAlign="center",t.textBaseline="middle",t.fillStyle=c1([0,0,0]),t.beginPath(),t.setLineWidthByPrecision(1),t.translateWithPrecisionRatio(o1,o1),t.strokeStyle=c1([217,217,217]),t.font=`13px ${K2}`;let b=0;const S=f.length;for(let v=c-1;v<=u;v++){if(v<0||v>S-1)continue;const O=f[v];if(b===O)continue;t.moveToByPrecision(0,O),t.lineToByPrecision(o,O);const y=b+(O-b)/2;t.fillText(`${v+1}`,o/2,y+x6),b=O}const T=o-.5/F;t.moveToByPrecision(T,0),t.lineToByPrecision(T,m),t.stroke()}}J6.add(new st);const Td="DefaultMarkerExtension",vd=60,yd=r=>{const{startRow:n,endRow:t,startColumn:e,endColumn:s}=r;return`${n}-${t}-${e}-${s}`};class it extends k1{constructor(){super(...arguments);h(this,"Z_INDEX",vd);h(this,"uKey",Td)}draw(t,e,s,i){const{worksheet:o,rowColumnSegment:a}=s;if(!o)return;const c=new Set;_.Range.foreach(a,(u,l)=>{var v,O,y,w;let D=o.getCell(u,l);const f=this.getCellIndex(u,l,s.rowHeightAccumulation,s.columnWidthAccumulation,s.dataMergeCache),{isMerged:p,isMergedMainCell:C,mergeInfo:m}=f;let{startY:F,endY:b,startX:S,endX:T}=f;if((C||p)&&(F=m.startY,b=m.endY,S=m.startX,T=m.endX),p){const B={row:m.startRow,col:m.startColumn};D=o.getCell(B.row,B.col)}if(!this.isRenderDiffRangesByRow(m.startRow,m.endRow,i))return!0;if(f.isMerged||f.isMergedMainCell){const B=yd(m);if(c.has(B))return;c.add(B)}if(!(!o.getColVisible(l)||!o.getRowVisible(u))&&D){if((v=D.markers)!=null&&v.tr){t.save();const B=D.markers.tr,A=T,I=F;t.fillStyle=B.color,t.moveTo(A,I),t.beginPath(),t.lineTo(A-B.size,I),t.lineTo(A,I+B.size),t.lineTo(A,I),t.closePath(),t.fill(),t.restore()}if((O=D.markers)!=null&&O.tl){t.save();const B=D.markers.tl,A=S,I=F;t.fillStyle=B.color,t.moveTo(A,I),t.beginPath(),t.lineTo(A+B.size,I),t.lineTo(A,I+B.size),t.lineTo(A,I),t.closePath(),t.fill(),t.restore()}if((y=D.markers)!=null&&y.br){t.save();const B=D.markers.br,A=T,I=b;t.fillStyle=B.color,t.moveTo(A,I),t.beginPath(),t.lineTo(A-B.size,I),t.lineTo(A,I-B.size),t.lineTo(A,I),t.closePath(),t.fill(),t.restore()}if((w=D.markers)!=null&&w.bl){t.save();const B=D.markers.bl,A=S,I=b;t.fillStyle=B.color,t.moveTo(A,I),t.beginPath(),t.lineTo(A+B.size,I),t.lineTo(A,I-B.size),t.lineTo(A,I),t.closePath(),t.fill(),t.restore()}}})}}V1.add(it);const Bd="DefaultCustomExtension",Od=55,wd=r=>{const{startRow:n,endRow:t,startColumn:e,endColumn:s}=r;return`${n}-${t}-${e}-${s}`};class rt extends k1{constructor(){super(...arguments);h(this,"Z_INDEX",Od);h(this,"uKey",Bd)}draw(t,e,s,i){const{rowHeightAccumulation:o,columnWidthAccumulation:a,worksheet:c,dataMergeCache:u,rowColumnSegment:l}=s;if(!c)return;const D=new Set,f=c.getSheetId();_.Range.foreach(l,(p,C)=>{let m=c.getCell(p,C);if(!(m!=null&&m.customRender))return;let F=this.getCellIndex(p,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=wd(b);if(D.has(v))return;D.add(v)}if(F.isMerged){const v={row:b.startRow,col:b.startColumn};if(m=c.getCell(v.row,v.col),!(m!=null&&m.customRender))return;F=this.getCellIndex(v.row,v.col,o,a,u)}const S={data:m,style:s.getsStyles().getStyleByCell(m),primaryWithCoord:F,subUnitId:f,row:p,col:C};if(!c.getColVisible(C)||!c.getRowVisible(p))return;const T=m.customRender.sort(_.sortRules);t.save(),T.forEach(v=>{v.drawWith(t,S,s,this.parent)}),t.restore()})}}V1.add(rt);var ot=(r=>(r[r.OFF=0]="OFF",r[r.ON=1]="ON",r))(ot||{});class Ad extends Q6{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 c=this.getExtensionsByOrder();for(const u of c)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(){J6.getData().forEach(t=>{this.register(t)}),this._rowHeaderLayoutExtension=this.getExtensionByKey("DefaultRowHeaderLayoutExtension")}}var B6=(r=>(r[r.SPAN=0]="SPAN",r[r.LINE=1]="LINE",r))(B6||{});class t6 extends K6{constructor(){super(...arguments);h(this,"type",0);h(this,"translateX",0);h(this,"translateY",0)}}const Rd="DefaultDocsBackgroundExtension",Id=10;class xd extends t6{constructor(){super(...arguments);h(this,"uKey",Rd);h(this,"Z_INDEX",Id);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:c}=s;if(!a)return;const{bg:u}=a;if(!u)return;const l=_.getColorStyle(u),{spanStartPoint:D=x.create(0,0)}=this.extensionOffset;l&&(t.fillStyle=l,t.fillRectByPrecision(D.x-.5,D.y,c+1,o+1))}clearCache(){this._preBackgroundColor=""}}l2.add(new xd);const Md="DefaultDocsBorderExtension";class Pd extends t6{constructor(){super(...arguments);h(this,"uKey",Md);h(this,"Z_INDEX",50);h(this,"_preBorderStyle");h(this,"_preBorderColor","")}draw(t,e,s){var m;const i=(m=s.parent)==null?void 0:m.parent;if(!i)return;const{asc:o=0,lineHeight:a=0}=i,{ts:c,left:u,width:l}=s;if(!c)return;const{bd:D}=c;if(!D)return;const f=this._getScale(t.getScale()),p=this._createBorderCache(D);t.save(),t.translateWithPrecisionRatio(o1,o1);const{spanStartPoint:C=x.create(0,0)}=this.extensionOffset;for(const F of p.keys()){const b=p.get(F);if(!b)continue;const{s:S,cl:T}=b,v=_.getColorStyle(T)||$1,O=j6(S);S!==this._preBorderStyle&&(W6(t,S),t.setLineWidthByPrecision(O),this._preBorderStyle=S),v!==this._preBorderColor&&(t.strokeStyle=v||$1,this._preBorderColor=v),z6(t,F,(O-1)/2/f,{startX:C.x,startY:C.y,endX:C.x+l,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(Y.TOP,e),s&&a.set(Y.BOTTOM,s),i&&a.set(Y.LEFT,i),o&&a.set(Y.RIGHT,o),a}}l2.add(new Pd);const Ld="DefaultDocsFontAndBaseLineExtension",$d=20;class Nd extends t6{constructor(){super(...arguments);h(this,"uKey",Ld);h(this,"Z_INDEX",$d);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:c,bBox:u}=s,{spanPointWithFont:l=x.create(0,0)}=this.extensionOffset;if(a==null)return;if(!o){this._fillText(t,s,l);return}this._preFontString!==(c==null?void 0:c.fontString)&&(t.font=this._preFontString=(c==null?void 0:c.fontString)||"");const{cl:D,va:f}=o,p=_.getColorStyle(D)||$1;if(p&&this._preFontColor!==p&&(t.fillStyle=p),f===_.BaselineOffset.SUBSCRIPT||f===_.BaselineOffset.SUPERSCRIPT){let m=0;f===_.BaselineOffset.SUPERSCRIPT&&(m=-u.sbo),l.y+=m}this._fillText(t,s,l)}_fillText(t,e,s){const{renderConfig:i,spanStartPoint:o,centerPoint:a}=this.extensionOffset,{content:c,width:u,bBox:l}=e,{aba:D,abd:f}=l;if(c==null||o==null||a==null)return;const{vertexAngle:p,centerAngle:C}=i!=null?i:{},m=90;p===m&&C===m&&!w2(c)?(t.save(),t.translate(o.x+a.x,o.y+a.y),t.rotate(Math.PI/2),t.translate(-u/2,(D+f)/2-f),t.fillText(c,0,0),t.restore()):t.fillText(c,s.x,s.y)}clearCache(){this._preFontString="",this._preFontColor=""}}l2.add(new Nd);const kd="DefaultDocsLineExtension",Hd=40;class Xd extends t6{constructor(){super(...arguments);h(this,"uKey",kd);h(this,"Z_INDEX",Hd);h(this,"_preBackgroundColor","")}draw(t,e,s){var b;const i=(b=s.parent)==null?void 0:b.parent;if(!i)return;const{contentHeight:o=0,asc:a}=i,{ts:c,bBox:u}=s;if(!c)return;const{sp:l,ba:D}=u,f=X6(e),p=.5,{ul:C,st:m,ol:F}=c;if(C){const S=o+p6-3;this._drawLine(t,s,C,S,f)}if(m){const S=a-(D-l)-p;this._drawLine(t,s,m,S,f)}if(F){const S=-p6-p;this._drawLine(t,s,F,S,f)}}clearCache(){this._preBackgroundColor=""}_drawLine(t,e,s,i,o){var D;const{s:a,cl:c,t:u,c:l=_.BooleanNumber.TRUE}=s;if(a===_.BooleanNumber.TRUE){const{originTranslate:f=x.create(0,0),alignOffset:p=x.create(0,0),renderConfig:C={}}=this.extensionOffset,{left:m,width:F}=e,{centerAngle:b=0,vertexAngle:S=0}=C,T=v1(b),v=v1(S);t.save(),t.translateWithPrecisionRatio(o1,o1),t.beginPath();const O=(l===_.BooleanNumber.TRUE?_.getColorStyle((D=e.ts)==null?void 0:D.cl):_.getColorStyle(c))||$1;t.strokeStyle=O,this._setLineType(t,u||_.TextDecoration.SINGLE);const y=T2(f.addByPoint(m,i),x.create(0,0),T,v,p),w=T2(f.addByPoint(m+F,i),x.create(0,0),T,v,p);t.moveToByPrecision(y.x,y.y),t.lineToByPrecision(w.x,w.y),t.stroke(),t.restore()}}_setLineType(t,e){e===_.TextDecoration.DASH_DOT_DOT_HEAVY||e===_.TextDecoration.DOT_DOT_DASH?t.setLineDash([2,2,5,2,2]):e===_.TextDecoration.DASH_DOT_HEAVY||e===_.TextDecoration.DOT_DASH?t.setLineDash([2,5,2]):e===_.TextDecoration.DOTTED||e===_.TextDecoration.DOTTED_HEAVY?t.setLineDash([2]):e===_.TextDecoration.DASH||e===_.TextDecoration.DASHED_HEAVY?t.setLineDash([3]):e===_.TextDecoration.DASH_LONG||e===_.TextDecoration.DASH_LONG_HEAVY?t.setLineDash([6]):t.setLineDash([0])}}l2.add(new Xd);class Yd extends V6{constructor(t,e){super(t);h(this,"pageMarginLeft",0);h(this,"pageMarginTop",0);h(this,"pageLayoutType",y1.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===k.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 x2 extends Yd{constructor(t,e,s){super(t,e);h(this,"onPageRenderObservable",new _.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 x2(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=y1.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 D;if(!this.getSkeleton())return;this._drawLiquid.reset();const i=(D=this.getSkeleton())==null?void 0:D.getSkeletonData();if(i==null)return;this._drawLiquid.reset();const{pages:o}=i,a=this.getParentScale(),c=this.getExtensionsByOrder();for(const f of c)f.clearCache();let u=0,l=0;for(let f=0,p=o.length;f<p;f++){const C=o[f],{sections:m,marginTop:F=0,marginBottom:b=0,marginLeft:S=0,marginRight:T=0,width:v,height:O,renderConfig:y={}}=C,{verticalAlign:w=_.VerticalAlign.TOP,horizontalAlign:B=_.HorizontalAlign.LEFT,centerAngle:A=0,vertexAngle:I=0,wrapStrategy:R=_.WrapStrategy.UNSPECIFIED,cellValueType:L}=y,N=this._horizontalHandler(v,S,T,B,I,A,L),$=this._verticalHandler(O,F,b,w),P=x.create(N,$),X=v1(A),H=v1(I),j=H-X;if(this._isSkipByDiffBounds(C,u,l,e)){const{x:J,y:K}=this._drawLiquid.translatePage(C,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);l+=J,u+=K;continue}this.onPageRenderObservable.notifyObservers({page:C,pageLeft:l,pageTop:u,ctx:t}),this._startRotation(t,j);for(const J of m){const{columns:K}=J;this._drawLiquid.translateSection(J);for(const e1 of K){const{lines:D1,width:a1}=e1;this._drawLiquid.translateColumn(e1);const Q=D1.length;let V=P,u1=null;if(H!==0){const{rotateTranslateXList:q,rotatedHeight:s1,rotatedWidth:r1,fixOffsetX:g1,fixOffsetY:F1,rotateTranslateY:_1}=G6(D1,a1,H);let B1=r1;s1>this.height&&R!==_.WrapStrategy.WRAP&&(R===_.WrapStrategy.OVERFLOW||H>0)&&(B1=this.height/Math.tan(Math.abs(H)));const H1=this._horizontalHandler(B1,S,T,B,I,A);let d1=this._verticalHandler(s1,F,b,w)-F1;s1>this.height&&(H<0?d1=this.height-(s1+F1):d1=-F1),V=x.create(H1+g1,d1),this._drawLiquid.translate(0,-_1),u1=q}else R===_.WrapStrategy.WRAP&&(V.x=S);for(let q=0;q<Q;q++){const s1=D1[q],{divides:r1,asc:g1=0,type:F1,lineHeight:_1=0}=s1,B1=g1,H1=B1*Math.sin(X),J1=B1*Math.cos(X);if(F1===R2.BLOCK)for(const d1 of c)d1.type===B6.LINE&&(d1.extensionOffset={alignOffset:V,renderConfig:y},d1.draw(t,a,s1));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(s1,!0),u1&&this._drawLiquid.translate(u1[q]);const d1=r1.length;for(let O1=0;O1<d1;O1++){const X1=r1[O1],{glyphGroup:Z1}=X1;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(X1);for(const w1 of Z1){if(!w1.content||w1.content.length===0)continue;const{width:q1,left:Y1,xOffset:x1}=w1,{x:n6,y:s6}=this._drawLiquid,h2=x.create(n6,s6),D2=x.create(q1/2,_1/2),_2=T2(h2.addByPoint(Y1+x1,0),D2,X,H,V),M2=T2(h2.addByPoint(Y1+H1+x1,J1),D2,X,H,V),i6={originTranslate:h2,spanStartPoint:_2,spanPointWithFont:M2,centerPoint:D2,alignOffset:V,renderConfig:y};for(const Q1 of c)Q1.type===B6.SPAN&&(Q1.extensionOffset=i6,Q1.draw(t,a,w1))}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}}}this._resetRotation(t,j);const{x:W,y:U}=this._drawLiquid.translatePage(C,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);l+=W,u+=U}}changeSkeleton(t){return this.setSkeleton(t),this}_draw(t,e){this.draw(t,e)}_horizontalHandler(t,e,s,i,o=0,a=0,c){i===_.HorizontalAlign.UNSPECIFIED&&(a===l1&&o===l1?i=_.HorizontalAlign.CENTER:o>0&&o!==l1||o===-l1||c===_.CellValueType.NUMBER?i=_.HorizontalAlign.RIGHT:c===_.CellValueType.BOOLEAN?i=_.HorizontalAlign.CENTER:i=_.HorizontalAlign.LEFT);let u=0;return i===_.HorizontalAlign.CENTER?u=(this.width-t)/2:i===_.HorizontalAlign.RIGHT?u=this.width-t-s:u=e,u}_verticalHandler(t,e,s,i){let o=0;return i===_.VerticalAlign.MIDDLE?o=(this.height-t)/2:i===_.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(){l2.getData().forEach(t=>{this.register(t)})}_isSkipByDiffBounds(t,e,s,i){if(i==null)return!1;const{pageWidth:o,pageHeight:a,marginBottom:c,marginTop:u,marginLeft:l,marginRight:D}=t,f=s+o+l+D,p=e+a+c+u,{left:C,top:m,right:F,bottom:b}=i.viewBound;return f<C||p<m||s>F&&o!==Number.POSITIVE_INFINITY||e>b&&a!==Number.POSITIVE_INFINITY}}const zd="__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__";class Wd extends q6{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 _.ObjectMatrix);h(this,"_overflowCacheRuntimeTimeout",-1);h(this,"_forceDisableGridlines",!1);h(this,"_documents",new x2(zd,void 0,{pageMarginLeft:0,pageMarginTop:0}));h(this,"isPrinting",!1);this._allowCache=s,this._allowCache&&(this._cacheCanvas=new c2,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(c=>s.getRowColumnSegmentByViewBound(c)):void 0,a=this.getExtensionsByOrder();for(const c of a)c.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:c}=s;let{startY:u,endY:l,startX:D,endX:f}=W1(t,e,i,o);return u+=c,l+=c,D+=a,f+=a,{startY:u,endY:l,startX:D,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,c=o.actualScrollY||0;s+=a,i+=c}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:c,columnHeaderHeight:u}=s;if(t.translateWithPrecision(c,u),this._drawAuxiliary(t,e),e&&this._allowCache===!0){const{viewBound:l,diffBounds:D,diffX:f,diffY:p,viewPortPosition:C,viewPortKey:m}=e;if(m==="viewMain"){const F=this._cacheCanvas.getContext();F.save();const{left:b,top:S,right:T,bottom:v}=C,O=T-b+c,y=v-S+u;if(D.length===0||f===0&&p===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,S,O,y,b,S,O,y);else{if(this.isDirty()){F.save(),F.globalCompositeOperation="copy",F.setTransform(1,0,0,1,0,0),F.drawImage(this._cacheCanvas.getCanvasEle(),f*o,p*a),F.restore(),this._refreshIncrementalState=!0,F.setTransform(t.getTransform());for(const w of D){const{left:B,right:A,bottom:I,top:R}=w;F.save(),F.beginPath(),F.rectByPrecision(B-c-o1,R-u-o1,A-B+c+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,S,O,y,b,S,O,y)}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,c=0,u=0,l=0){if(!t)return;const D=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*D,s*D,i*D,o*D,a*D,c*D,u*D,l*D),t.restore(),f.restore()}_draw(t,e){this.draw(t,e)}_getAncestorSize(){const t=this._getAncestorParent();if(t){if(t.classType===k.ENGINE){const e=t.getCanvas();return{width:e.getWidth(),height:e.getHeight()}}if(t.classType===k.SCENE_VIEWER)return{width:t.width,height:t.height}}}_getAncestorParent(){let t=this.parent;for(;t;){if(t.classType===k.ENGINE||t.classType===k.SCENE_VIEWER)return t;t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent())}}_initialDefaultExtension(){V1.getData().sort(_.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===k.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:c,showGridlines:u}=s,{border:l,backgroundPositions:D}=c,{startRow:f,endRow:p,startColumn:C,endColumn:m}=i;if(!s||u===_.BooleanNumber.FALSE||this._forceDisableGridlines)return;const{rowHeightAccumulation:F,columnTotalWidth:b,columnWidthAccumulation:S,rowTotalHeight:T}=s;if(!F||!S||b===void 0||T===void 0)return;t.save(),t.setLineWidthByPrecision(1),t.strokeStyle=c1([212,212,212]);const v=S.length,O=F.length,y=.4,w=p-f+1,B=m-C+1,A=Math.ceil(w*y),I=Math.ceil(B*y),R=Math.max(Math.floor(f-A),0),L=Math.min(Math.ceil(p+A),O-1),N=Math.min(Math.ceil(m+I),v-1),$=Math.max(Math.floor(C-I),0),P=S[$-1]||0,X=F[R-1]||0,H=S[N],j=F[L];t.translateWithPrecisionRatio(o1,o1),t.beginPath(),t.moveToByPrecision(P,X),t.lineToByPrecision(H,X),t.moveToByPrecision(P,X),t.lineToByPrecision(P,j),t.closePathByEnv(),t.stroke();for(let W=R;W<=L;W++){if(W<0||W>O-1)continue;const U=F[W];t.beginPath(),t.moveToByPrecision(P,U),t.lineToByPrecision(H,U),t.closePathByEnv(),t.stroke()}for(let W=$;W<=N;W++){if(W<0||W>v-1)continue;const U=S[W];t.beginPath(),t.moveToByPrecision(U,X),t.lineToByPrecision(U,j),t.closePathByEnv(),t.stroke()}this._clearRectangle(t,F,S,o),this._clearRectangle(t,F,S,a.toNativeArray()),this._clearBackground(t,D),t.restore()}_clearRectangle(t,e,s,i){if(i!=null)for(const o of i){const{startRow:a,endRow:c,startColumn:u,endColumn:l}=o,D=e[a-1]||0,f=e[c]||e[e.length-1],p=s[u-1]||0,C=s[l]||s[s.length-1];t.clearRectByPrecision(p,D,C-p,f-D),t.beginPath(),t.moveToByPrecision(p,D),t.lineToByPrecision(C,D),t.lineToByPrecision(C,f),t.lineToByPrecision(p,f),t.lineToByPrecision(p,D),t.stroke(),t.closePath()}}_clearBackground(t,e){e==null||e.forValue((s,i,o)=>{let{startY:a,endY:c,startX:u,endX:l}=o;const{isMerged:D,isMergedMainCell:f,mergeInfo:p}=o;if(D)return!0;f&&(a=p.startY,c=p.endY,u=p.startX,l=p.endX),t.clearRectForTexture(u,a,l-u+.5,c-a+.5)})}}function H7(r,n,t){r.onPointerEnterObserver.add(e=>{n(r,e)}),r.onPointerLeaveObserver.add(e=>{t(r,e)})}class a7 extends I1{constructor(t,e){super(t);h(this,"_subScenes",new Map);h(this,"_activeSubScene");h(this,"_allowSelectedClipElement",!1);this._initialProps(e)}get classType(){return k.SCENE_VIEWER}render(t,e){var i;if(!this.visible)return this.makeDirty(!1),this;if(e){const{left:o,top:a,right:c,bottom:u}=e.viewBound;if(this.width+this.strokeWidth+this.left<o||c<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 at=["hoverCursor","moveCursor","fillRule","globalCompositeOperation","paintFirst","stroke","strokeScaleEnabled","fill","fillAfterStrokeEnabled","hitStrokeWidth","strokeLineJoin","strokeLineCap","shadowColor","shadowBlur","shadowOffset","shadowOffsetX","shadowOffsetY","shadowOpacity","shadowEnabled","shadowForStrokeEnabled","strokeDashArray","strokeDashOffset","strokeMiterLimit"];class K1 extends I1{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:c,parent:u}=e;let{scaleX:l,scaleY:D}=e;if(!(!s||i===0)){if(o&&!a&&this._removeShadow(t),t.save(),c&&u){const f=this._getObjectScaling();t.scale(1/f.scaleX,1/f.scaleY)}else c&&(l=l!=null?l:1,D=D!=null?D:1,t.scale(1/l,1/D));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:c,stroke:u}=e;t.lineWidth=s,t.lineCap=i,t.lineDashOffset=o,t.lineJoin=a,t.miterLimit=c,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:c}=e.viewBound;if(this.width+this.strokeWidth+this.left<o||c<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;z2.indexOf(s)===-1&&(this[`_${s}`]=t[s])}),this.makeDirty(!0),this}toJson(){const t={};return at.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;z2.indexOf(o)>-1?(s[o]=t[o],i=!0):this[`_${o}`]=t[o]}),i&&this.transformByState(s),this.makeDirty(!0)}}const ut=["dataArray"];class f1 extends K1{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=f1.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:c,width:u,height:l}=this._getSelfRect(),{width:D,height:f}=o;let p,C;D?p=this.width-D:p=0,f?C=this.height-f:C=0;const m=p/u,F=C/l;this.scaleX+=m,this.scaleY+=F,this.left=this.left-a*m,this.top=this.top-c*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 c=a[0],u=a[1],l=a[2],D=a[3],f=a[4],p=a[5],C=a[6],m=a[7],F=l>D?l:D,b=l>D?1:l/D,S=l>D?D/l:1;t.translate(c,u),t.rotate(C),t.scale(b,S),t.arc(0,0,F,f,f+p,!!(1-m)),t.scale(1/b,1/S),t.rotate(-C),t.translate(-c,-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,c){a===void 0&&(a=e),c===void 0&&(c=s);const u=(o-s)/(i-e+1e-8);let l=Math.sqrt(t*t/(1+u*u));i<e&&(l*=-1);let D=u*l,f;if(i===e)f={x:a,y:c+D};else if((c-s)/(a-e+1e-8)===u)f={x:a+l,y:c+D};else{const p=this.getLineLength(e,s,i,o);let C=(a-e)*(i-e)+(c-s)*(o-s);C/=p*p;const m=e+C*(i-e),F=s+C*(o-s),b=this.getLineLength(a,c,m,F),S=Math.sqrt(t*t-b*b);l=Math.sqrt(S*S/(1+u*u)),i<e&&(l*=-1),D=u*l,f={x:m+l,y:F+D}}return f}static getPointOnCubicBezier(t,e,s,i,o,a,c,u,l){function D(b){return b*b*b}function f(b){return 3*b*b*(1-b)}function p(b){return 3*b*(1-b)*(1-b)}function C(b){return(1-b)*(1-b)*(1-b)}const m=u*D(t)+a*f(t)+i*p(t)+e*C(t),F=l*D(t)+c*f(t)+o*p(t)+s*C(t);return{x:m,y:F}}static getPointOnQuadraticBezier(t,e,s,i,o,a,c){function u(C){return C*C}function l(C){return 2*C*(1-C)}function D(C){return(1-C)*(1-C)}const f=a*u(t)+i*l(t)+e*D(t),p=c*u(t)+o*l(t)+s*D(t);return{x:f,y:p}}static getPointOnEllipticalArc(t,e,s,i,o,a){const c=Math.cos(a),u=Math.sin(a),l={x:s*Math.cos(o),y:i*Math.sin(o)};return{x:t+(l.x*c-l.y*u),y:e+(l.x*u+l.y*c)}}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,p=s.length;f<p;f++)e=e.replace(new RegExp(s[f],"g"),`|${s[f]}`);const i=e.split("|"),o=[],a=[];let c=0,u=0;const l=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let D;for(let f=1,p=i.length;f<p;f++){let C=i[f],m=C.charAt(0);for(C=C.slice(1),a.length=0;D=l.exec(C);)a.push(D[0]);const F=[];for(let b=0,S=a.length;b<S;b++){if(a[b]==="00"){F.push(0,0);continue}const T=Number.parseFloat(a[b]);isNaN(T)?F.push(0):F.push(T)}for(;F.length>0&&!isNaN(F[0]);){let b,S=[];const T=c,v=u;let O,y,w,B,A,I,R,L,N,$;switch(m){case"l":c+=F.shift()||0,u+=F.shift()||0,b="L",S.push(c,u);break;case"L":c=F.shift()||0,u=F.shift()||0,S.push(c,u);break;case"m":{const P=F.shift()||0,X=F.shift()||0;if(c+=P,u+=X,b="M",o.length>2&&o[o.length-1].command==="z"){for(let H=o.length-2;H>=0;H--)if(o[H].command==="M"){c=o[H].points[0]+P,u=o[H].points[1]+X;break}}S.push(c,u),m="l";break}case"M":c=F.shift()||0,u=F.shift()||0,b="M",S.push(c,u),m="L";break;case"h":c+=F.shift()||0,b="L",S.push(c,u);break;case"H":c=F.shift()||0,b="L",S.push(c,u);break;case"v":u+=F.shift()||0,b="L",S.push(c,u);break;case"V":u=F.shift()||0,b="L",S.push(c,u);break;case"C":S.push(F.shift()||0,F.shift()||0,F.shift()||0,F.shift()||0),c=F.shift()||0,u=F.shift()||0,S.push(c,u);break;case"c":S.push(c+(F.shift()||0),u+(F.shift()||0),c+(F.shift()||0),u+(F.shift()||0)),c+=F.shift()||0,u+=F.shift()||0,b="C",S.push(c,u);break;case"S":y=c,w=u,O=o[o.length-1],O.command==="C"&&(y=c+(c-O.points[2]),w=u+(u-O.points[3])),S.push(y,w,F.shift()||0,F.shift()||0),c=F.shift()||0,u=F.shift()||0,b="C",S.push(c,u);break;case"s":y=c,w=u,O=o[o.length-1],O.command==="C"&&(y=c+(c-O.points[2]),w=u+(u-O.points[3])),S.push(y,w,c+(F.shift()||0),u+(F.shift()||0)),c+=F.shift()||0,u+=F.shift()||0,b="C",S.push(c,u);break;case"Q":S.push(F.shift()||0,F.shift()||0),c=F.shift()||0,u=F.shift()||0,S.push(c,u);break;case"q":S.push(c+(F.shift()||0),u+(F.shift()||0)),c+=F.shift()||0,u+=F.shift()||0,b="Q",S.push(c,u);break;case"T":y=c,w=u,O=o[o.length-1],O.command==="Q"&&(y=c+(c-O.points[0]),w=u+(u-O.points[1])),c=F.shift()||0,u=F.shift()||0,b="Q",S.push(y,w,c,u);break;case"t":y=c,w=u,O=o[o.length-1],O.command==="Q"&&(y=c+(c-O.points[0]),w=u+(u-O.points[1])),c+=F.shift()||0,u+=F.shift()||0,b="Q",S.push(y,w,c,u);break;case"A":B=F.shift()||0,A=F.shift()||0,I=F.shift()||0,R=F.shift()||0,L=F.shift()||0,N=c,$=u,c=F.shift()||0,u=F.shift()||0,b="A",S=this.convertEndpointToCenterParameterization(N,$,c,u,R,L,B,A,I);break;case"a":B=F.shift()||0,A=F.shift()||0,I=F.shift()||0,R=F.shift()||0,L=F.shift()||0,N=c,$=u,c+=F.shift()||0,u+=F.shift()||0,b="A",S=this.convertEndpointToCenterParameterization(N,$,c,u,R,L,B,A,I);break}o.push({command:b||m,points:S,start:{x:T,y:v},pathLength:this.calcLength(T,v,b||m,S)})}(m==="z"||m==="Z")&&o.push({command:"z",points:[],start:{x:0,y:0},pathLength:0})}return o}static calcLength(t,e,s,i){let o,a,c,u;const l=f1;switch(s){case"L":return l.getLineLength(t,e,i[0],i[1]);case"C":for(o=0,a=l.getPointOnCubicBezier(0,t,e,i[0],i[1],i[2],i[3],i[4],i[5]),u=.01;u<=1;u+=.01)c=l.getPointOnCubicBezier(u,t,e,i[0],i[1],i[2],i[3],i[4],i[5]),o+=l.getLineLength(a.x,a.y,c.x,c.y),a=c;return o;case"Q":for(o=0,a=l.getPointOnQuadraticBezier(0,t,e,i[0],i[1],i[2],i[3]),u=.01;u<=1;u+=.01)c=l.getPointOnQuadraticBezier(u,t,e,i[0],i[1],i[2],i[3]),o+=l.getLineLength(a.x,a.y,c.x,c.y),a=c;return o;case"A":{o=0;const D=i[4],f=i[5],p=i[4]+f;let C=Math.PI/180;if(Math.abs(D-p)<C&&(C=Math.abs(D-p)),a=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],D,0),f<0)for(u=D-C;u>p;u-=C)c=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),o+=l.getLineLength(a.x,a.y,c.x,c.y),a=c;else for(u=D+C;u<p;u+=C)c=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],u,0),o+=l.getLineLength(a.x,a.y,c.x,c.y),a=c;return c=l.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],p,0),o+=l.getLineLength(a.x,a.y,c.x,c.y),o}}return 0}static convertEndpointToCenterParameterization(t,e,s,i,o,a,c,u,l){const D=l*(Math.PI/180),f=Math.cos(D)*(t-s)/2+Math.sin(D)*(e-i)/2,p=-1*Math.sin(D)*(t-s)/2+Math.cos(D)*(e-i)/2,C=f*f/(c*c)+p*p/(u*u);C>1&&(c*=Math.sqrt(C),u*=Math.sqrt(C));let m=Math.sqrt((c*c*(u*u)-c*c*(p*p)-u*u*(f*f))/(c*c*(p*p)+u*u*(f*f)));o===a&&(m*=-1),isNaN(m)&&(m=0);const F=m*c*p/u,b=m*-u*f/c,S=(t+s)/2+Math.cos(D)*F-Math.sin(D)*b,T=(e+i)/2+Math.sin(D)*F+Math.cos(D)*b,v=R=>Math.sqrt(R[0]*R[0]+R[1]*R[1]),O=(R,L)=>(R[0]*L[0]+R[1]*L[1])/(v(R)*v(L)),y=(R,L)=>(R[0]*L[1]<R[1]*L[0]?-1:1)*Math.acos(O(R,L)),w=y([1,0],[(f-F)/c,(p-b)/u]),B=[(f-F)/c,(p-b)/u],A=[(-1*f-F)/c,(-1*p-b)/u];let I=y(B,A);return O(B,A)<=-1&&(I=Math.PI),O(B,A)>=1&&(I=0),a===0&&I>0&&(I-=2*Math.PI),a===1&&I<0&&(I+=2*Math.PI),[S,T,c,u,w,I,D,a]}toJson(){const t={};return ut.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 f1.getPointOnLine(t,o.start.x,o.start.y,a[0],a[1]);case"C":return f1.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 f1.getPointOnQuadraticBezier(t/o.pathLength,o.start.x,o.start.y,a[0],a[1],a[2],a[3]);case"A":{const c=a[0],u=a[1],l=a[2],D=a[3];let f=a[4];const p=a[5],C=a[6];return f+=p*t/o.pathLength,f1.getPointOnEllipticalArc(c,u,l,D,f,C)}}return null}_draw(t){f1.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(l=>{if(l.command==="A"){const D=l.points[4],f=l.points[5],p=l.points[4]+f;let C=Math.PI/180;if(Math.abs(D-p)<C&&(C=Math.abs(D-p)),f<0)for(let m=D-C;m>p;m-=C){const F=f1.getPointOnEllipticalArc(l.points[0],l.points[1],l.points[2],l.points[3],m,0);t.push(F.x,F.y)}else for(let m=D+C;m<p;m+=C){const F=f1.getPointOnEllipticalArc(l.points[0],l.points[1],l.points[2],l.points[3],m,0);t.push(F.x,F.y)}}else if(l.command==="C")for(let D=0;D<=1;D+=.01){const f=f1.getPointOnCubicBezier(D,l.start.x,l.start.y,l.points[0],l.points[1],l.points[2],l.points[3],l.points[4],l.points[5]);t.push(f.x,f.y)}else t=t.concat(l.points)});let e=t[0],s=t[0],i=t[1],o=t[1],a,c;for(let l=0;l<t.length/2;l++)a=t[l*2],c=t[l*2+1],isNaN(a)||(e=Math.min(e,a),s=Math.max(s,a)),isNaN(c)||(i=Math.min(i,c),o=Math.max(o,c));const u={left:e,top:i,width:s-e,height:o-i};return this._selfRectCache=u,u}}var ct=(r=>(r.LEFT="__slideNavigationLeft__",r.RIGHT="__slideNavigationRight__",r))(ct||{});const X7="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 jd extends a7{constructor(){super(...arguments);h(this,"onSlideChangePageByNavigationObservable",new _.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 f1("__slideNavigationLeft__",{data:X7,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),s=new f1("__slideNavigationRight__",{data:X7,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),i=(a,c)=>{a.setCursor(n1.POINTER),a.setProps({fill:this._getArrowColor(!0)})},o=(a,c)=>{a.setCursor(n1.DEFAULT),a.setProps({fill:this._getArrowColor()})};H7(e,i,o),H7(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 c=0;c<s;c++){const[u]=e[c];if(t===u){i=c;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?c1(_.COLORS.white,.8):c1(_.COLORS.white,.5)}}class Gd extends I1{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 lt extends _.Disposable{constructor(){super(...arguments);h(this,"onInputChangedObservable",new _.Observable);h(this,"onTransformChangeObservable",new _.Observable);h(this,"_scenes",{});h(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(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 G2 extends lt{constructor(t=1,e=1,s,i){super();h(this,"renderEvenInBackground",!0);h(this,"onBeginFrameObservable",new _.Observable);h(this,"onEndFrameObservable",new _.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",n4());h(this,"_resizeObserver");h(this,"_fps",60);h(this,"_deltaTime",0);h(this,"_performanceMonitor",new b4);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 c2({mode:i,width:t,height:e,pixelRatio:s}),this._canvasEle=this._canvas.getCanvasEle(),this._handleKeyboardAction(),this._handlePointerAction(),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(_.toDisposable(()=>{var o;(o=this._resizeObserver)==null||o.unobserve(this._container)}))}}resize(){if(!this._container)return;const{width:t,height:e}=h4(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=m6();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=C2(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=C2(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=m6();this._pointerMoveEvent=e=>{const s=this._getPointerType(e),i=this.pointer[M.Horizontal],o=this.pointer[M.Vertical],a=this.pointer[M.DeltaHorizontal],c=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=c,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],c=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=c,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],c=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=c,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 c=e;c.deviceType=s,this.pointer[M.MouseWheelX]!==0&&(c.inputIndex=M.MouseWheelX,c.previousState=i,c.currentState=this.pointer[M.MouseWheelX],this.onInputChangedObservable.notifyObservers(c)),this.pointer[M.MouseWheelY]!==0&&(c.inputIndex=M.MouseWheelY,c.previousState=o,c.currentState=this.pointer[M.MouseWheelY],this.onInputChangedObservable.notifyObservers(c)),this.pointer[M.MouseWheelZ]!==0&&(c.inputIndex=M.MouseWheelZ,c.previousState=a,c.currentState=this.pointer[M.MouseWheelZ],this.onInputChangedObservable.notifyObservers(c))},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(_.toDisposable(()=>{t.removeEventListener("change",e)}))}}class ht extends I1{constructor(t,...e){super(t);h(this,"_objects",[]);this.addObjects(...e)}get classType(){return k.GROUP}set cursor(t){this.setCursor(t)}addObjects(...t){for(const e of t)this.addObject(e)}addObject(t){let e=t;if(F6(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(F6(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(_.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(_.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 Dt extends _.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(_.sortRules);for(const e of this._objects)!e.isInGroup&&e.visible&&t.push(e);return t}getObjectsByOrderForPick(){const t=[];this._objects.sort(_.sortRules);for(const e of this._objects)e.classType!==k.GROUP&&e.visible&&t.push(e);return t}getObjects(){return this._objects}addObject(t){if(t.classType===k.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 I1){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 c=0;c<a;c++){const u=t[c];if(o=u instanceof I1?o:o.oKey,o===u){e.splice(i,1);break}}}}makeDirty(t=!0){this._dirty=t;const e=this.scene.getParent();return e.classType===k.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(_.toDisposable(t.onTransformChangeObservable.add(()=>{this.makeDirty(!0)}))),t.layer=this}_initialCacheCanvas(){this._cacheCanvas=new c2,this.disposeWithMe(_.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 _t=(r=>(r[r.NONE=0]="NONE",r[r.X=1]="X",r[r.Y=2]="Y",r[r.ALL=3]="ALL",r))(_t||{});class u2{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 u2(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:c=0,l:u=0}=this._padding;let l=0,D=0,f=!1;if(this._scrollTimerType&1&&(this._moveX<s+u&&(l=(this._moveX-s-u)*this._smoothRatioX,f=!0),this._moveX>i-c&&(l=(this._moveX-i+c)*this._smoothRatioX,f=!0)),this._scrollTimerType&2&&(this._moveY<t+o&&(D=(this._moveY-t-o)*this._smoothRatioY,f=!0),this._moveY>e-a&&(D=(this._moveY-e+a)*this._smoothRatioY,f=!0)),!f)return;const p=n==null?void 0:n.scrollBy({x:l,y:D}),C=n==null?void 0:n.getActualScroll(l,D);if(this._scrollX=(C==null?void 0:C.x)||0,this._scrollY=(C==null?void 0:C.y)||0,p){const m=this._findAncestorScene(n==null?void 0:n.scene),F=this.getViewportByCoord(m);F&&this._scroll(F)}}scrolling(n,t,e){this._moveX=n,this._moveY=t,this._scrollFunction=e}stopScroll(){t4(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getViewportByCoord(n){return n==null?void 0:n.getActiveViewportByRelativeCoord(x.FromArray([this._offsetX,this._offsetY]))}getScene(){return this._scene}_runRenderLoop(){this._scroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=C2(this._runRenderLoop.bind(this))}_findAncestorScene(n){let t=n==null?void 0:n.getParent();for(;t;){if(t.classType===k.SCENE)return t;t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent())}}}const dt=["radius"];class m1 extends K1{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,c=0,u=0,l=0;a=c=u=l=Math.min(s,i/2,o/2),t.moveTo(a,0),t.lineTo(i-c,0),t.arc(i-c,c,c,Math.PI*3/2,0,!1),t.lineTo(i,o-l),t.arc(i-l,o-l,l,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 dt.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}_draw(t){m1.drawWith(t,this)}}const Ud=["__SpreadsheetTransformerResizeLT__","__SpreadsheetTransformerResizeCT__","__SpreadsheetTransformerResizeRT__","__SpreadsheetTransformerResizeLM__","__SpreadsheetTransformerResizeRM__","__SpreadsheetTransformerResizeLB__","__SpreadsheetTransformerResizeCB__","__SpreadsheetTransformerResizeRB__"];class Vd extends _.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 _.Observable);h(this,"onChangingObservable",new _.Observable);h(this,"onChangeEndObservable",new _.Observable);h(this,"onClearControlObservable",new _.Observable);h(this,"onCreateControlObservable",new _.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(_.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 c=u2.create(a);c.startScroll(i,o);const{scrollX:u,scrollY:l}=i2(c);this._viewportScrollX=u,this._viewportScrollY=l,this._updateActiveObjectList(t,e),this._moveObserver=a.onPointerMoveObserver.add(D=>{const{offsetX:f,offsetY:p}=D;this._moving(f,p,c),this._hideControl(),c.scrolling(f,p,()=>{this._moving(f,p,c)})}),this._upObserver=a.onPointerUpObserver.add(()=>{a.onPointerMoveObserver.remove(this._moveObserver),a.onPointerUpObserver.remove(this._upObserver),a.enableEvent(),this._updateControl(),c.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:c,scaleY:u}=e.getState();t.getObjects().forEach(D=>{const f=D.oKey,p=this._checkTransformerType(f);if(!p)return!0;if(p==="__SpreadsheetTransformerOutline__")D.transformByState(this._getOutlinePosition(o,a,c,u));else{const{left:C,top:m}=this._getRotateAnchorPosition(p,a,o);D.transformByState({left:C,top:m})}}),t.transformByState({left:s,top:i})})}_anchorMoving(t,e,s,i){const{scrollX:o,scrollY:a}=i2(i),c=e-this._viewportScrollX+o,u=s-this._viewportScrollY+a,l=c-this._startOffsetX,D=u-this._startOffsetY;this._selectedObjectMap.forEach(f=>{const{left:p,top:C,width:m,height:F}=f,b={};switch(t){case"__SpreadsheetTransformerResizeLT__":b.left=p+l,b.top=C+D,b.width=m-l,b.height=F-D;break;case"__SpreadsheetTransformerResizeCT__":b.top=C+D,b.height=F-D;break;case"__SpreadsheetTransformerResizeRT__":b.top=C+D,b.width=m+l,b.height=F-D;break;case"__SpreadsheetTransformerResizeLM__":b.left=p+l,b.width=m-l;break;case"__SpreadsheetTransformerResizeRM__":b.width=l+m;break;case"__SpreadsheetTransformerResizeLB__":b.left=p+l,b.width=m-l,b.height=F+D;break;case"__SpreadsheetTransformerResizeCB__":b.height=D+F;break;case"__SpreadsheetTransformerResizeRB__":b.width=l+m,b.height=D+F;break}f.transformByState(b)}),this._updateControlChildren(),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:l,moveY:D,type:1}),this._startOffsetX=c,this._startOffsetY=u}_attachEventToAnchor(t,e="__SpreadsheetTransformerResizeLT__"){this.disposeWithMe(_.toDisposable(t.onPointerDownObserver.add((s,i)=>{const{offsetX:o,offsetY:a}=s;this._startOffsetX=o,this._startOffsetY=a;const c=this._getTopScene();if(c==null)return;c.disableEvent();const u=u2.create(c);u.startScroll(o,a);const{scrollX:l,scrollY:D}=i2(u);this._viewportScrollX=l,this._viewportScrollY=D;const f=this._getRotateAnchorCursor(e);this._moveObserver=c.onPointerMoveObserver.add(p=>{const{offsetX:C,offsetY:m}=p;this._anchorMoving(e,C,m,u),u.scrolling(C,m,()=>{this._anchorMoving(e,C,m,u)}),c.setCursor(f)}),this._upObserver=c.onPointerUpObserver.add(()=>{c.onPointerMoveObserver.remove(this._moveObserver),c.onPointerUpObserver.remove(this._upObserver),c.enableEvent(),c.resetCursor(),u.dispose(),this.onChangeEndObservable.notifyObservers({objects:this._selectedObjectMap,type:2})}),i.stopPropagation()})))}_attachEventToRotate(t){this.disposeWithMe(_.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:c}=e.getState(),{left:u,top:l}=this._getRotateAnchorPosition(t,i,o),D=this._getRotateAnchorCursor(t),f=new m1(`${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:l});return this._attachHover(f,D,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(_.toDisposable(t.onPointerEnterObserver.add(()=>{t.cursor=e}))),this.disposeWithMe(_.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:c,scaleY:u,skewX:l,skewY:D,flipX:f,flipY:p}=t.getState(),C=t.oKey,m=this._selectedObjectMap.size,F=[];if(this.borderEnabled){const T=new m1(`__SpreadsheetTransformerOutline___${m}`,{zIndex:m-1,evented:!1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke,...this._getOutlinePosition(o,i,c,u)});F.push(T)}if(this.resizeEnabled){const{left:T,top:v}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotateLine__",i,o),O=new m1(`__SpreadsheetTransformerRotateLine___${m}`,{zIndex:m-1,evented:!1,left:T,top:v,height:this.rotateAnchorOffset,width:1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke}),{left:y,top:w}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotate__",i,o),B=this._getRotateAnchorCursor("__SpreadsheetTransformerRotate__"),A=new m1(`__SpreadsheetTransformerRotate___${m}`,{zIndex:m-1,left:y,top:w,height:this.rotateSize,width:this.rotateSize,radius:this.rotateCornerRadius,strokeWidth:this.borderStrokeWidth*2,stroke:this.borderStroke});this._attachEventToRotate(A),this._attachHover(A,B,n1.DEFAULT),F.push(O,A)}if(this.resizeEnabled)for(let T=0,v=this.enabledAnchors.length;T<v;T++){if(this.enabledAnchors[T]!==1)continue;const y=Ud[T],w=this._createResizeAnchor(y,t,m);this._attachEventToAnchor(w,y),F.push(w)}const b=new ht(`__SpreadsheetTransformer___${m}`,...F);return b.zIndex=m,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}=i2(s),a=t-this._viewportScrollX+i,c=e-this._viewportScrollY+o,u=a-this._startOffsetX,l=c-this._startOffsetY;this._selectedObjectMap.forEach(D=>{D.translate(u+D.left,l+D.top)}),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:u,moveY:l,type:1}),this._startOffsetX=a,this._startOffsetY=c}_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 C1=class C1 extends _.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 x(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 c=this._scene.getEngine();c&&(this._onPointerEnter=u=>{var l;u.pointerId===void 0&&(u.pointerId=0),this._currentObject=this._getCurrentObject(u.offsetX,u.offsetY),(l=this._currentObject)==null||l.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 D;u.pointerId===void 0&&(u.pointerId=0),this._currentObject=this._getCurrentObject(u.offsetX,u.offsetY);const l=(D=this._currentObject)==null?void 0:D.triggerPointerMove(u);this.mouseLeaveEnterHandler(u),this._checkDirectSceneEventTrigger(!l,this._currentObject)&&this._scene.onPointerMoveObserver.hasObservers()&&this._scene.onPointerMoveObserver.notifyObservers(u)},this._onPointerDown=u=>{u.pointerId===void 0&&(u.pointerId=0);const l=this._getCurrentObject(u.offsetX,u.offsetY),D=l==null?void 0:l.triggerPointerDown(u);this._checkDirectSceneEventTrigger(!D,l)&&this._scene.onPointerDownObserver.hasObservers()&&this._scene.onPointerDownObserver.notifyObservers(u)},this._onPointerUp=u=>{u.pointerId===void 0&&(u.pointerId=0);const l=this._getCurrentObject(u.offsetX,u.offsetY),D=l==null?void 0:l.triggerPointerUp(u);this._checkDirectSceneEventTrigger(!D,l)&&this._scene.onPointerUpObserver.hasObservers()&&this._scene.onPointerUpObserver.notifyObservers(u),this._prePointerDoubleOrTripleClick(u)},this._onMouseWheel=u=>{const l=this._getCurrentObject(u.offsetX,u.offsetY),D=l==null?void 0:l.triggerMouseWheel(u);this._scene.getViewports().forEach(f=>{f.onMouseWheelObserver.hasObservers()&&f.onMouseWheelObserver.notifyObservers(u)}),this._checkDirectSceneEventTrigger(!D,l)&&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=c.onInputChangedObservable.add(u=>{const l=u;u.deviceType===p1.Keyboard&&(u.currentState===1&&this._onKeyDown(l),u.currentState===0&&this._onKeyUp(l)),(u.deviceType===p1.Mouse||u.deviceType===p1.Touch)&&(t&&u.inputIndex>=M.LeftClick&&u.inputIndex<=M.RightClick&&u.currentState===1&&this._onPointerDown(l),e&&u.inputIndex>=M.LeftClick&&u.inputIndex<=M.RightClick&&u.currentState===0&&this._onPointerUp(l),s&&(u.inputIndex===M.Horizontal||u.inputIndex===M.Vertical||u.inputIndex===M.DeltaHorizontal||u.inputIndex===M.DeltaVertical)?this._onPointerMove(l):i&&(u.inputIndex===M.MouseWheelX||u.inputIndex===M.MouseWheelY||u.inputIndex===M.MouseWheelZ)?this._onMouseWheel(l):o&&u.currentState===2?this._onPointerEnter(l):a&&u.currentState===3&&this._onPointerLeave(l))}),this.disposeWithMe(_.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(x.FromArray([t,e]))}_checkDirectSceneEventTrigger(t,e){let s=!1;e==null&&(s=!0);let i=!0;if(e&&e.classType===k.BASE_OBJECT){const o=e.getScene();o&&(i=o.getParent().classType!==k.SCENE_VIEWER)}return!this._scene.evented&&t&&i||s}_isPointerSwiping(t,e){return Math.abs(this._startingPosition.x-t)>C1.DragMovementThreshold||Math.abs(this._startingPosition.y-e)>C1.DragMovementThreshold}_prePointerDoubleOrTripleClick(t){var o,a,c,u;const{clientX:e,clientY:s}=t;this._isPointerSwiping(e,s)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},C1.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState&&((a=(o=this._scene)==null?void 0:o.pick(x.FromArray([t.offsetX,t.offsetY])))==null||a.triggerTripleClick(t),this._scene.onTripleClickObserver.hasObservers()&&this._scene.onTripleClickObserver.notifyObservers(t)),this._doubleClickOccurred===2&&((u=(c=this._scene)==null?void 0:c.pick(x.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},C1.TripleClickDelay)),this._startingPosition.x=e,this._startingPosition.y=s}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}};h(C1,"DragMovementThreshold",2),h(C1,"LongPressDelay",500),h(C1,"DoubleClickDelay",500),h(C1,"TripleClickDelay",300),h(C1,"ExclusiveDoubleClickMode",!1);let O6=C1;class Kd extends _.Disposable{constructor(t){super();h(this,"onTransformChangeObservable",new _.Observable);h(this,"onFileLoadedObservable",new _.Observable);h(this,"onPointerDownObserver",new _.Observable);h(this,"onPointerMoveObserver",new _.Observable);h(this,"onPointerUpObserver",new _.Observable);h(this,"onPointerEnterObserver",new _.Observable);h(this,"onPointerLeaveObserver",new _.Observable);h(this,"onDblclickObserver",new _.Observable);h(this,"onTripleClickObserver",new _.Observable);h(this,"onMouseWheelObserver",new _.Observable);h(this,"onKeyDownObservable",new _.Observable);h(this,"onKeyUpObservable",new _.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 i1);h(this,"_evented",!0);this._sceneKey=t}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(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 ft extends Kd{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===k.ENGINE){const o=this._parent;o.addScene(this),o.hasActiveScene()||o.setActiveScene(t),this._inputManager=new O6(this)}else this._parent.classType===k.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(_.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===k.SCENE_VIEWER&&(e=t.ancestorScaleX),this.scaleX*e}get ancestorScaleY(){const t=this.getParent();let e=1;return t.classType===k.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===k.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===k.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=Y2(this.scaleX,1),this.scaleY=Y2(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===k.ENGINE)return this._parent;let t=this._parent;for(;t;){if(t.classType===k.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(_.sortRules);for(const e of this._layers)t.push(...e.getObjectsByOrder());return t}getAllObjectsByOrder(t=!1){const e=[],s=t?_.sortRulesByDesc:_.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?_.sortRulesByDesc:_.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(_.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),C2(e)})}openTransformer(t){this._transformer||(this._transformer=new Vd(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===k.SCENE||e.classType===k.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===k.SCENE){const a=i.getActiveViewportByCoord(t);if(a){const c=a.actualScrollX||0,u=a.actualScrollY||0;t=t.addByPoint(c,u)}}else i.classType===k.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===k.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(),c=a.length;for(let u=0;u<c;u++){const l=a[u];if(!l.visible||!l.evented||l.classType===k.GROUP)continue;let D=i;if(l.isInGroup&&l.parent.classType===k.GROUP){const{cumLeft:f,cumTop:p}=this._getGroupCumLeftRight(l);D=D.clone().add(x.FromArray([-f,-p]))}if(l.isHit(D)){if(l.classType===k.SCENE_VIEWER){const f=l.pick(D);f?o=f:o=l.getActiveSubScene()}else o=l;break}else if(l.classType===k.SCENE_VIEWER&&l.allowSelectedClipElement()){const f=l.pick(D);if(f){o=f;break}}}return!o&&this._parent.classType===k.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===k.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===k.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===k.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===k.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===k.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===k.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerDown(t),!1):!0}triggerPointerOut(t){var e;return this._parent.classType===k.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===k.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerLeave(t),!1):!0}triggerPointerOver(t){var e;return this._parent.classType===k.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===k.SCENE_VIEWER?((s=this._parent)==null||s.triggerPointerEnter(t),!1):!0}_createDefaultLayer(t=1){const e=new Dt(this,[],t);return this.addLayer(e),e}_setTransForm(){const t=i1.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===k.GROUP;){const{left:o,top:a}=e;s+=o,i+=a,e=e.parent}return{cumLeft:s,cumTop:i}}}const Jd={width:1500,height:1e3},Zd="_UNIVER_SCENE_";class gt{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 G2),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,c=new a7(n);return c.addSubScene(a),s.addObject(c),o}createRenderWithEngine(n,t){return this._createRender(n,t,!1)}create(n){this._createRender$.next(n)}createRender(n){const t=new G2;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}=Jd,c=new ft(Zd+n,t,{width:o,height:a}),u={unitId:n,engine:t,scene:c,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 pt=U1.createIdentifier("univer.render-manager-service");var qd=Object.defineProperty,Qd=Object.getOwnPropertyDescriptor,tf=(r,n,t,e)=>{for(var s=e>1?void 0:e?Qd(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&&qd(n,t,s),s},ef=(r,n)=>(t,e)=>n(t,e,r);const mt=U1.createIdentifier("univer.render-engine"),nf="render-engine";var g6;exports.UniverRenderEnginePlugin=(g6=class extends _.Plugin{constructor(n,t){super(nf),this._injector=t,this._injector.add([mt,{useFactory:()=>new G2}]),this._injector.add([pt,{useClass:gt}])}},h(g6,"type",_.PluginType.Univer),g6);exports.UniverRenderEnginePlugin=tf([ef(1,U1.Inject(U1.Injector))],exports.UniverRenderEnginePlugin);const Ft=["radius"];class u7 extends K1{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 c=Math.min(this.width,this.height);this._radius=c/2,this.width=c,this.height=c,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 Ft.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}_draw(t){u7.drawWith(t,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}}class sf{}class rf{}class U2 extends K1{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 U2(t,{url:e,success:s})}getPictureProps(){return this._props}_draw(t){U2.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 Ct=["pointsGroup"];class e6 extends K1{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:c}=t;let u,l;a?u=this.width-a:u=0,c?l=this.height-c:l=0;const D=u/i,f=l/o;this.scaleX+=D,this.scaleY+=f,this.left=this.left-e*D,this.top=this.top-s*f,this._setTransForm()}toJson(){const t={};return Ct.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){e6.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 c of a)c.x-=s,c.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 c of a)e=Math.min(e,c.x),s=Math.max(s,c.x),i=Math.min(i,c.y),o=Math.max(o,c.y);return{left:e,top:i,width:s-e,height:o-i}}}const w6=["text","richText"];class of extends I1{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",_.BooleanNumber.FALSE);h(this,"_bl",_.BooleanNumber.FALSE);h(this,"_ul",{s:_.BooleanNumber.FALSE});h(this,"_st",{s:_.BooleanNumber.FALSE});h(this,"_ol",{s:_.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 _.DocumentDataModel(this._documentData),o=new L1(i);this._documentSkeleton=a2.create(o,this._localeService),this._documents=new x2(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(s),this.onTransformChangeObservable.add(a=>{const{type:c}=a;if(c===t1.resize||c===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;w6.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:c}=e.viewBound;if(this.width+this.strokeWidth<o||c<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 w6.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}${_.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 af extends _.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 e2=17;class c7 extends af{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 c7(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 c=new i1([1,0,0,1,e,s]).getMatrix();t.transform(c[0],c[1],c[2],c[3],c[4],c[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,c,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<e2&&(this.horizontalMinusMiniThumb=e2-this.horizontalThumbWidth,this.horizontalThumbWidth=e2),(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||(c=this.horizonThumbRect)==null||c.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,c,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<e2&&(this.verticalMinusMiniThumb=e2-this.verticalThumbHeight,this.verticalThumbHeight=e2),(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||(c=this.verticalThumbRect)==null||c.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 m1("__horizonBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.horizonThumbRect=new m1("__horizonThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableVertical&&(this.verticalBarRect=new m1("__verticalBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.verticalThumbRect=new m1("__verticalThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableHorizontal&&this.enableVertical&&(this.placeholderBarRect=new m1("__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(b1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.verticalThumbRect)),(s=this.verticalThumbRect)==null||s.on(b1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.verticalThumbRect)),(i=this.verticalBarRect)==null||i.on(b1.PointerDown,(a,c)=>{const u=a;this._view.scrollTo({y:u.offsetY-this._view.top-this.verticalThumbHeight/2}),c.stopPropagation()}),(o=this.verticalThumbRect)==null||o.on(b1.PointerDown,(a,c)=>{const u=a,l=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=u.offsetX,this._lastY=u.offsetY,l==null||l.setProps({fill:this.thumbActiveBackgroundColor}),t.disableEvent(),this.makeViewDirty(!0),c.stopPropagation()}),this._verticalPointerMoveObserver=t.onPointerMoveObserver.add((a,c)=>{var l;const u=a;this._isVerticalMove&&(this._view.scrollByBar({y:u.offsetY-this._lastY}),this._lastY=u.offsetY,(l=t.getEngine())==null||l.setRemainCapture())}),this._verticalPointerUpObserver=t.onPointerUpObserver.add((a,c)=>{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(b1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.horizonThumbRect)),(s=this.horizonThumbRect)==null||s.on(b1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.horizonThumbRect)),(i=this.horizonBarRect)==null||i.on(b1.PointerDown,(a,c)=>{const u=a;this._view.scrollTo({x:u.offsetX-this._view.left-this.horizontalThumbWidth/2}),c.stopPropagation()}),(o=this.horizonThumbRect)==null||o.on(b1.PointerDown,(a,c)=>{var l;const u=a;this._isHorizonMove=!0,this._lastX=u.offsetX,this._lastY=u.offsetY,(l=this.horizonThumbRect)==null||l.setProps({fill:this.thumbActiveBackgroundColor}),this.makeViewDirty(!0),t.disableEvent(),c.stopPropagation()}),this._horizonPointerMoveObserver=t.onPointerMoveObserver.add((a,c)=>{var l;const u=a;this._isHorizonMove&&(this._view.scrollByBar({x:u.offsetX-this._lastX}),this._lastX=u.offsetX,(l=t.getEngine())==null||l.setRemainCapture())}),this._horizonPointerUpObserver=t.onPointerUpObserver.add((a,c)=>{const u=this.horizonThumbRect;this._isHorizonMove=!1,t.enableEvent(),u==null||u.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}}class uf{}const Et=["checked"];class l7 extends K1{constructor(t,e){super(t,e);h(this,"_checked",!1);_.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:c=0,left:u=0}=e,l=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"),D=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,c),t.scale(s/16,i/16),o&&(t.fillStyle=o),a?t.fill(D,"evenodd"):t.fill(l,"evenodd"),t.restore()}_draw(t){l7.drawWith(t,this)}toJson(){const t={};return Et.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}}function cf(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 lf=3;class hf{constructor(n,t,e){h(this,"scrollX",0);h(this,"scrollY",0);h(this,"actualScrollX",0);h(this,"actualScrollY",0);h(this,"onMouseWheelObserver",new _.Observable);h(this,"onScrollAfterObserver",new _.Observable);h(this,"onScrollBeforeObserver",new _.Observable);h(this,"onScrollStopObserver",new _.Observable);h(this,"onScrollByBarObserver",new _.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=R1(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=R1(n,(t=this.scene.getParent())==null?void 0:t.width)}set bottom(n){var t;this._bottomOrigin=n,this._bottom=R1(n,(t=this.scene.getParent())==null?void 0:t.height)}set right(n){var t;this._rightOrigin=n,this._right=R1(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:c}=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/=c):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:z(e+this._paddingStartX,i),y:z(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=i1.create();return n.multiply(i1.create([1,0,0,1,this._left,this._top])),n}render(n,t=[],e=!1){var l;if(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)return;const s=n||((l=this._scene.getEngine())==null?void 0:l.getCanvas().getContext()),i=this._scene.transform.clone();i.multiply(i1.create([1,0,0,1,-this.actualScrollX||0,-this.actualScrollY||0]));const o=s,a=i.getMatrix(),c=this.getScrollBarTransForm().getMatrix();if(o.save(),this._renderClipState){o.beginPath();const{scaleX:D,scaleY:f}=this._getBoundScale(a[0],a[3]);o.rect(this.left,this.top,(this.width||0)*D,(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(D=>{D.render(o,u)}),o.restore(),this._scrollBar&&e&&(o.save(),o.transform(c[0],c[1],c[2],c[3],c[4],c[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(x.FromArray([e.x,e.y]))}getAbsoluteVector(n){const t=this.scene.transform.clone(),e=this.getTransformedScroll();return t.applyPoint(n.subtract(x.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===k.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*=lf,n.deltaY>0?e=this.scrollBy({x:a}):e=this.scrollBy({x:-a}),this._scene.getParent().classType===k.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===k.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:c}=this.getBarScroll(n,t);this.scrollTo({x:a,y:c})}}_getViewPortSize(){const n=this._scene.getParent(),{width:t,height:e}=n,{scaleX:s=1,scaleY:i=1}=this._scene;let o,a,c=this.left*s,u=this.top*i;return this._leftOrigin!=null&&(c=this._leftOrigin*s),this._topOrigin!=null&&(u=this._topOrigin*i),this._widthOrigin!=null?o=this._widthOrigin*s:(o=t-(c+this._right),this.width=o),this._heightOrigin!=null?a=this._heightOrigin*i:(a=e-(u+this._bottom),this.height=a),this._left=c,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 c,u,l,D;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:(c=this._scrollBar)==null?void 0:c.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:(l=this._scrollBar)==null?void 0:l.limitX,limitY:(D=this._scrollBar)==null?void 0:D.limitY,isTrigger:e}),this._triggerScrollStop(a,s,i,e),o}_calViewportRelativeBounding(){var S;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,c=this._height;const u=this._getViewPortSize();t[0]>1&&(a=u.width),t[3]>1&&(c=u.height);const l=this.left*e,D=((a||0)+this.left)*i,f=this.top*s,p=((c||0)+this.top)*o,C=this.getRelativeVector(x.FromArray([l,f])),m=this.getRelativeVector(x.FromArray([D,p])),F={top:C.y,left:C.x,right:m.x,bottom:m.y},b=(S=this._preViewportBound)==null?void 0:S.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:l,bottom:p,right:D},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 cf(e,s).map(o=>{const{startRow:a,endRow:c,startColumn:u,endColumn:l}=o;return{left:u,top:a,right:l,bottom:c}})}_drawScrollbar(n){if(!this._scrollBar)return;const t=this._scene.getParent();t.classType===k.SCENE_VIEWER?this._scrollBar.render(n):t.classType===k.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,_.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),_.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 X2=(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))(X2||{});const n2={page:0,section:1,column:2,line:3,divide:4,glyph:5};function bt(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 A6(r,n){return bt(r,n)?{start:r,end:n}:{start:n,end:r}}function Y7(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 Df(r,n,t,e){let s=e,i=e;for(let o=0;o<r.length;o++){const c=r[o].count;o<n&&(s+=c),o<t&&(i+=c)}return{startOffset:s,endOffset:i}}class St{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}=A6(n,t);return this._selectionIterator(o,a,(c,u,l,D,f,p)=>{const{lineHeight:C,marginTop:m,contentHeight:F}=p,{glyphGroup:b,st:S}=f,{x:T,y:v}=this._liquid;let O,y;const w=b[c],B=b[u],A=(w==null?void 0:w.left)||0,I=(w==null?void 0:w.width)||0,R=(B==null?void 0:B.left)||0,L=(B==null?void 0:B.width)||0,N=(w==null?void 0:w.glyphType)===h1.LIST,{startOffset:$,endOffset:P}=Df(b,c,u,S),X=o.glyph===c&&l?o.isBack:!0,H=a.glyph===u&&D?a.isBack:!1,j=o===a;if(c===0&&u===b.length-1)O={startX:T+A+(N?I:0),startY:v,endX:T+R+L,endY:v+C},y={startX:T+A+(N?I:0),startY:v+m,endX:T+R+L,endY:v+m+F};else{const W=X&&!N;O={startX:T+A+(W?0:I),startY:v,endX:T+R+(H?0:L),endY:v+C},y={startX:T+A+(W?0:I),startY:v+m,endX:T+R+(H?0:L),endY:v+m+F}}e.push(this._pushToPoints(O)),s.push(this._pushToPoints(y)),i.push({startOffset:X?$:$+w.count,endOffset:H?P:P+B.count,collapsed:j})}),{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=X2[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 c=X2[n],u=X2[n+1];if(u===null||c===null)return{start_next:o,end_next:a};const l=t[c],D=e[c];this._setNodePositionState(c,l,D,i);const f=this._checkPreviousNodePositionState(n),p=this._checkPreviousNodePositionState(n,!1);return f===1&&(o=t[u]),p===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:c}=t;if(this._resetCurrentNodePositionState(),this._documentOffsetConfig==null)return[];const{pageLayoutType:u,pageMarginLeft:l,pageMarginTop:D}=this._documentOffsetConfig;for(let f=0;f<=a-1;f++){const p=o[f];this._liquid.translatePage(p,u,l,D)}for(let f=a;f<=c;f++){const p=o[f],C=p.sections,{start_next:m,end_next:F}=this._getSelectionRuler(n2.page,n,t,C.length-1,f);this._liquid.translateSave(),this._liquid.translatePagePadding(p);for(let b=m;b<=F;b++){const S=C[b],T=S.columns,{start_next:v,end_next:O}=this._getSelectionRuler(n2.section,n,t,T.length-1,b);this._liquid.translateSection(S);for(let y=v;y<=O;y++){const w=T[y],B=w.lines,{start_next:A,end_next:I}=this._getSelectionRuler(n2.column,n,t,B.length-1,y);this._liquid.translateColumn(w);for(let R=A;R<=I;R++){const L=B[R],{divides:N}=L,{start_next:$,end_next:P}=this._getSelectionRuler(n2.line,n,t,N.length-1,R);this._liquid.translateSave(),this._liquid.translateLine(L);for(let X=$;X<=P;X++){const H=N[X];this._liquid.translateSave(),this._liquid.translateDivide(H);const j=H.glyphGroup,{start_next:W,end_next:U}=this._getSelectionRuler(n2.divide,n,t,j.length-1,X);let J=!1,K=!1;f===a&&b===m&&y===v&&R===A&&X===$&&(J=!0),f===c&&b===F&&y===O&&R===I&&X===P&&(K=!0),e&&e(W,U,J,K,H,L,w,S,p),this._liquid.translateRestore()}this._liquid.translateRestore()}}}this._liquid.translateRestore(),this._liquid.translatePage(p,u,l,D)}}}const _f="__TestSelectionRange__",df="__TestSelectionAnchor__",z7=6,f6=500,ff=500,R6=1;function gf(r,n,t,e){const{startOffset:s,endOffset:i,style:o=v2}=n,a=t.findNodePositionByCharIndex(s),c=s!==i?t.findNodePositionByCharIndex(i):null,u=new V2(r,e,t,a,c,o);return u.refresh(),u}function Tt(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 V2{constructor(n,t,e,s,i,o=v2){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()},f6),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},f6))},ff+f6)}get startOffset(){var s;const{startOffset:n}=(s=Y7(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=Y7(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}=A6(this.anchorNodePosition,this.focusNodePosition);return n}get endNodePosition(){if(this.anchorNodePosition==null)return this.focusNodePosition;if(this.focusNodePosition==null)return null;const{end:n}=A6(this.anchorNodePosition,this.focusNodePosition);return n}get direction(){const{collapsed:n,anchorNodePosition:t,focusNodePosition:e}=this;return n||t==null||e==null?p2.NONE:bt(t,e)?p2.FORWARD:p2.BACKWARD}getAnchor(){return this._anchorShape}activeStatic(){var n,t;(t=this._anchorShape)==null||t.setProps({stroke:((n=this.style)==null?void 0:n.strokeActive)||c1(_.COLORS.black,1)})}deactivateStatic(){var n,t;(t=this._anchorShape)==null||t.setProps({stroke:((n=this.style)==null?void 0:n.stroke)||c1(_.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 D,f;const{_document:n,_docSkeleton:t}=this,e=this.anchorNodePosition,s=this.focusNodePosition;if((D=this._anchorShape)==null||D.hide(),(f=this._rangeShape)==null||f.hide(),this._isEmpty())return;const i=n.getOffsetConfig(),{docsLeft:o,docsTop:a}=i,c=new St(i,t);if(this._isCollapsed()){const{contentBoxPointGroup:p,cursorList:C}=c.getRangePointData(e,e);this._setCursorList(C),p.length>0&&this._createOrUpdateAnchor(p,o,a);return}const{borderBoxPointGroup:u,cursorList:l}=c.getRangePointData(e,s);this._setCursorList(l),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(n2);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 e6(_f+_.Tools.generateRandomId(z7),{pointsGroup:n,fill:((o=this.style)==null?void 0:o.fill)||c1(_.COLORS.black,s),left:t,top:e,evented:!1,debounceParentDirty:!1});this._rangeShape=i,this._scene.addObject(i,R6)}_createOrUpdateAnchor(n,t,e){var u,l;const s=Tt(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 c=new m1(df+_.Tools.generateRandomId(z7),{left:i+t,top:o+e,height:a,strokeWidth:((u=this.style)==null?void 0:u.strokeWidth)||1,stroke:((l=this.style)==null?void 0:l.strokeActive)||c1(_.COLORS.black,1),evented:!1});this._anchorShape=c,this._scene.addObject(c,R6)}_setCursorList(n){n.length!==0&&(this._cursorList=n)}}function pf(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,c=n.top+s-o,u=n.left+i-a;return{top:c,left:u}}var mf=Object.defineProperty,Ff=Object.getOwnPropertyDescriptor,Cf=(r,n,t,e)=>{for(var s=e>1?void 0:e?Ff(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&&mf(n,t,s),s},Ef=(r,n)=>(t,e)=>n(t,e,r);function vt(r){const n=r==null?void 0:r.getCanvasElement();if(!n)return{left:0,top:0};const{top:t,left:e}=pf(n);return{left:e,top:t}}function W7(r){var c;const n=(c=r.parent)==null?void 0:c.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 l of u.divides)for(const D of l.glyphGroup)a||(i+=D.count),D===r&&(a=!0),o+=D.count>0?D.content:"";return{st:s[0].st,ed:e,content:o,nodeIndex:i}}exports.TextSelectionRenderManager=class extends _.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",v2);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=v2){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=gf(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=W7(i.node);if(o==null)return;const{content:a,st:c,nodeIndex:u}=o;if(u===-1||Intl.Segmenter==null)return;const D=new Intl.Segmenter(void 0,{granularity:"word"}).segment(a);let f=Number.NEGATIVE_INFINITY,p=Number.NEGATIVE_INFINITY;for(const{segment:C,index:m,isWordLike:F}of D)if(m<=u&&u<m+C.length&&F){f=m+c,p=m+c+C.length;break}if(Number.isFinite(f)&&Number.isFinite(p)){this.removeAllTextRanges();const C=[{startOffset:f,endOffset:p}];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=W7(i.node);if(o==null)return;this.removeAllTextRanges();const{st:a,ed:c}=o,u=[{startOffset:a,endOffset:c,collapsed:a===c}];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)===_.DataStreamTreeTokenType.PARAGRAPH&&(i.isBack=!0),this._updateTextRangeAnchorPosition(i),this._activeSelectionRefresh()}eventTrigger(t){var p;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)===_.DataStreamTreeTokenType.PARAGRAPH&&(a.isBack=!0),t.shiftKey&&this._getActiveRangeInstance())this._updateActiveRangeFocusPosition(a);else if(t.ctrlKey||this._isEmpty()){const C=new V2(e,this._document,this._docSkeleton,a);this._addTextRange(C)}else this._updateTextRangeAnchorPosition(a);this._activeSelectionRefresh(),e.disableEvent();const c=u2.create(e);this._scrollTimers.push(c),c.startScroll(s,i);const{scrollX:u,scrollY:l}=i2(c);this._viewportScrollX=u,this._viewportScrollY=l,this._onSelectionStart$.next((p=this._getActiveRangeInstance())==null?void 0:p.startNodePosition);let D=s,f=i;this._moveObservers.push(e.onPointerMoveObserver.add(C=>{const{offsetX:m,offsetY:F}=C;e.setCursor(n1.TEXT),!(Math.sqrt((m-D)**2+(F-f)**2)<3)&&(this._moving(m,F),c.scrolling(m,F,()=>{this._moving(m,F)}),D=m,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:c}=t;return e==null||s==null?null:{startOffset:e,endOffset:s,collapsed:i,startNodePosition:o,endNodePosition:a,direction:c,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
+ "use strict";var It=Object.defineProperty;var xt=(r,s,t)=>s in r?It(r,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[s]=t;var h=(r,s,t)=>(xt(r,typeof s!="symbol"?s+"":s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@univerjs/core"),G1=require("@wendellhu/redi"),Z=require("rxjs");var x6=(r=>(r.RECT="rect",r.CIRCLE="circle",r.PATH="path",r))(x6||{}),b1=(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))(b1||{}),U7=(r=>(r[r.XY=0]="XY",r[r.X=1]="X",r[r.Y=2]="Y",r))(U7||{});const P6=1,K2='"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',V7={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},Pt={...V7,marginTop:20},Mt={...V7,marginBottom:20},K7="0",m6=1,J7=14;var s1=(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))(s1||{}),Z7=(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))(Z7||{});const L1="rgb(0,0,0)";var Y=(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))(Y||{}),m2=(r=>(r[r.UP=0]="UP",r[r.DOWN=1]="DOWN",r))(m2||{}),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 Lt=1e3,q7=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 $t{isEmpty(){return this._isEmpty()}toString(s){if(this.isEmpty())throw new Error("Output is empty.");return this._toString(s)}toRegExp(s){return new RegExp(this.toString(s),s)}}class T1 extends $t{constructor(...s){super(),this.data=[];for(const t of s)t instanceof T1?this.data.push(...t.data):this.data.push(kt(t));this._unique()}union(...s){return new T1(this,...s)}subtract(...s){const t=this.data.slice(),e=[];let n=0;const{data:i}=new T1(...s);for(;t.length!==0;){const o=t.shift(),[a,l]=o;let u;do{u=!0;const c=i[n];if(c===void 0){e.push(o);break}const[D,f]=c;f<a?(u=!1,n++):l<D?e.push(o):D<=a&&f<l?(n++,t.unshift([f+1,l])):a<D&&f<l?(n++,e.push([a,D-1]),t.unshift([f+1,l])):a<D&&l<=f&&e.push([a,D-1])}while(!u)}return new T1(...e)}intersect(...s){return this.subtract(this.subtract(...s))}_isEmpty(){return this.data.length===0}_toString(s){return Xt(this.data,s)}_unique(){this.data.sort(Ht);const s=[];let t=null;for(const e of this.data)t===null||t[1]+1<e[0]?(s.push(e),t=e):(s.splice(-1,1,[Math.min(e[0],t[0]),Math.max(e[1],t[1])]),t=s[s.length-1]);this.data=s}}const J2=(...r)=>new T1(...r);function Nt(r){if(r.length!==1){const s=`${r.length} (${JSON.stringify(r)})`;throw new Error(`Expected length = 1, but received ${s}.`)}return r.charCodeAt(0)}function kt(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[s]=[r].map(t=>typeof t!="object"?[t,t]:t).map(t=>t.map(e=>typeof e=="string"?Nt(e):e));return s}function Ht(r,s){return r[0]-s[0]}function Xt(r,s=""){if(s.includes("u"))return g7(r,!0);const{normal:t,surrogate:e}=zt(r),n=[];return t.length!==0&&n.push(g7(t,!1)),n.push(...Yt(e)),n.join("|")}function g7(r,s){return`[${r.map(([e,n])=>e===n?f2(e,s):`${f2(e,s)}-${f2(n,s)}`).join("")}]`}function Yt(r){const s=[];if(r.entire.data.length!==0){const t=r.entire.toString(),e=`[${[56320,57343].map(n=>f2(n,!1)).join("-")}]`;s.push(`${t}${e}`)}for(const{h:t,l:e}of r.partial){const n=f2(t,!1),i=e.toString();s.push(`${n}${i}`)}return s}function zt(r){const s=[],t=[];for(let e=0;e<r.length;e++){const n=r[e],[i,o]=n;if(i>=65536){t.push(...r.slice(e));break}if(o>=65536){s.push([i,65535]),t.push([65536,o],...r.slice(e+1));break}s.push(n)}return{normal:s,surrogate:Wt(t)}}function Wt(r){const s=[],t=[];for(const[i,o]of r){const a=p7(i),l=p7(o);if(a.h===l.h){n(a.h,a.l,l.l);continue}a.l===56320?e(a.h):n(a.h,a.l,57343);for(let u=a.h+1;u<l.h;u++)e(u);l.l===57343?e(l.h):n(l.h,56320,l.l)}return{entire:new T1(...s),partial:t.map(({h:i,l:o})=>({h:i,l:new T1(...o)}))};function e(i){s.push(i)}function n(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 p7(r){return{h:Math.floor((r-65536)/1024)+55296,l:(r-65536)%1024+56320}}function f2(r,s){const t=r.toString(16);return s?`\\u{${t}}`:`\\u${"0".repeat(4-t.length)}${t}`}const jt=[[0,127]],Gt=[[48,57],[65,70],[97,102]],Ut=[[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]],Vt=[[0,1114111]],Kt=[[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]],Jt=[1564,[8206,8207],[8234,8238],[8294,8297]],Zt=[[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],qt=[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]],Qt=[[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]],te=[[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]],ee=[[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]],se=[[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]],ne=[[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]],ie=[[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]],re=[[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]],oe=[[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]],ae=[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],ue=[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]],le=[329,1651,3959,3961,[6051,6052],[8298,8303],[9001,9002],917505],ce=[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]],he=[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]],De=[35,42,[48,57],8205,8419,65039,[127462,127487],[127995,127999],[129456,129459],[917536,917631]],_e=[[127995,127999]],de=[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]],fe=[[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]],ge=[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]],pe=[[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]],me=[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]],Fe=[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]],Ce=[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]],Ee=[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]],be=[[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]],Se=[[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]],Te=[[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]],ye=[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]],ve=[[48,57],[65,70],[97,102],[65296,65305],[65313,65318],[65345,65350]],Be=[45,173,1418,6150,[8208,8209],11799,12539,65123,65293,65381],Oe=[[12272,12273],[12276,12283]],we=[[12274,12275]],Ae=[[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]],Re=[[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]],Ie=[[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]],xe=[[8204,8205]],Pe=[[3648,3652],[3776,3780],[6581,6583],6586,[43701,43702],43705,[43707,43708]],Me=[[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]],Le=[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]],$e=[[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]],Ne=[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]],ke=[847,[4447,4448],[6068,6069],8293,12644,65440,[65520,65528],917504,[917506,917535],[917632,917759],[918e3,921599]],He=[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]],Xe=[183,903,[4969,4977],6618],Ye=[[6277,6278],8472,8494,[12443,12444]],ze=[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]],We=[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]],je=[[8544,8559],[9398,9423],[127280,127305],[127312,127337],[127344,127369]],Ge=[[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]],Ue=[[9,13],32,133,[8206,8207],[8232,8233]],Ve=[[1536,1541],1757,1807,[2192,2193],2274,69821,69837],Ke=[34,39,171,187,[8216,8223],[8249,8250],11842,[12300,12303],[12317,12319],[65089,65092],65282,65287,[65378,65379]],Je=[[11904,11929],[11931,12019],[12032,12245]],Ze=[[127462,127487]],qe=[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],Qe=[[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],t0=[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]],e0=[[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]],s0=[[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]],n0=[[6155,6157],6159,[65024,65039],[917760,917999]],i0=[[9,13],32,133,160,5760,[8192,8202],[8232,8233],8239,8287,12288],r0=[[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]],o0=[[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]],a0=Object.freeze(Object.defineProperty({__proto__:null,ASCII:jt,ASCII_Hex_Digit:Gt,Alphabetic:Ut,Any:Vt,Assigned:Kt,Bidi_Control:Jt,Bidi_Mirrored:Zt,Case_Ignorable:qt,Cased:Qt,Changes_When_Casefolded:te,Changes_When_Casemapped:ee,Changes_When_Lowercased:se,Changes_When_NFKC_Casefolded:ne,Changes_When_Titlecased:ie,Changes_When_Uppercased:re,Composition_Exclusion:oe,Dash:ae,Default_Ignorable_Code_Point:ue,Deprecated:le,Diacritic:ce,Emoji:he,Emoji_Component:De,Emoji_Modifier:_e,Emoji_Modifier_Base:de,Emoji_Presentation:fe,Expands_On_NFC:ge,Expands_On_NFD:pe,Expands_On_NFKC:me,Expands_On_NFKD:Fe,Extended_Pictographic:Ce,Extender:Ee,Full_Composition_Exclusion:be,Grapheme_Base:Se,Grapheme_Extend:Te,Grapheme_Link:ye,Hex_Digit:ve,Hyphen:Be,IDS_Binary_Operator:Oe,IDS_Trinary_Operator:we,ID_Continue:Ae,ID_Start:Re,Ideographic:Ie,Join_Control:xe,Logical_Order_Exception:Pe,Lowercase:Me,Math:Le,Noncharacter_Code_Point:$e,Other_Alphabetic:Ne,Other_Default_Ignorable_Code_Point:ke,Other_Grapheme_Extend:He,Other_ID_Continue:Xe,Other_ID_Start:Ye,Other_Lowercase:ze,Other_Math:We,Other_Uppercase:je,Pattern_Syntax:Ge,Pattern_White_Space:Ue,Prepended_Concatenation_Mark:Ve,Quotation_Mark:Ke,Radical:Je,Regional_Indicator:Ze,Sentence_Terminal:qe,Soft_Dotted:Qe,Terminal_Punctuation:t0,Unified_Ideograph:e0,Uppercase:s0,Variation_Selector:n0,White_Space:i0,XID_Continue:r0,XID_Start:o0},Symbol.toStringTag,{value:"Module"})),u0=[[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]],l0=[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],c0=[95,[8255,8256],8276,[65075,65076],[65101,65103],65343],h0=[[0,31],[127,159]],D0=[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],_0=[45,1418,1470,5120,6150,[8208,8213],11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],d0=[[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]],f0=[[1160,1161],6846,[8413,8416],[8418,8420],[42608,42610]],g0=[187,8217,8221,8250,11779,11781,11786,11789,11805,11809],p0=[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]],m0=[171,8216,[8219,8220],8223,8249,11778,11780,11785,11788,11804,11808],F0=[[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]],C0=[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]],E0=[8232],b0=[[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]],S0=[[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]],T0=[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]],y0=[[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],v0=[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]],B0=[[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]],O0=[[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]],w0=[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],A0=[[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]],R0=[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]],I0=[[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]],x0=[[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]],P0=[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]],M0=[8233],L0=[[57344,63743],[983040,1048573],[1048576,1114109]],$0=[[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]],N0=[32,160,5760,[8192,8202],[8232,8233],8239,8287,12288],k0=[32,160,5760,[8192,8202],8239,8287,12288],H0=[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]],X0=[[55296,57343]],Y0=[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]],z0=[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],W0=[[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]],j0=[[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]],G0=Object.freeze(Object.defineProperty({__proto__:null,Cased_Letter:u0,Close_Punctuation:l0,Connector_Punctuation:c0,Control:h0,Currency_Symbol:D0,Dash_Punctuation:_0,Decimal_Number:d0,Enclosing_Mark:f0,Final_Punctuation:g0,Format:p0,Initial_Punctuation:m0,Letter:F0,Letter_Number:C0,Line_Separator:E0,Lowercase_Letter:b0,Mark:S0,Math_Symbol:T0,Modifier_Letter:y0,Modifier_Symbol:v0,Nonspacing_Mark:B0,Number:O0,Open_Punctuation:w0,Other:A0,Other_Letter:R0,Other_Number:I0,Other_Punctuation:x0,Other_Symbol:P0,Paragraph_Separator:M0,Private_Use:L0,Punctuation:$0,Separator:N0,Space_Separator:k0,Spacing_Mark:H0,Surrogate:X0,Symbol:Y0,Titlecase_Letter:z0,Unassigned:W0,Uppercase_Letter:j0},Symbol.toStringTag,{value:"Module"})),U0=[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]],V0=[[1536,1541],[1632,1641],[1643,1644],1757,[2192,2193],2274,[68912,68921],[69216,69246]],K0=[[0,8],[14,27],[127,132],[134,159],173,6158,[8203,8205],[8288,8292],[8298,8303],65279,[113824,113827],[119155,119162],917505,[917536,917631]],J0=[44,[46,47],58,160,1548,8239,8260,65104,65106,65109,65292,[65294,65295],65306],Z0=[[48,57],[178,179],185,[1776,1785],8304,[8308,8313],[8320,8329],[9352,9371],[65296,65305],[66273,66299],[120782,120831],[127232,127242],[130032,130041]],q0=[43,45,[8314,8315],[8330,8331],8722,64297,[65122,65123],65291,65293],Q0=[[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],t3=[8296],e3=[[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]],s3=[8234],n3=[8294],i3=[8237],r3=[[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]],o3=[[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]],a3=[10,13,[28,30],133,8233],u3=[8236],l3=[8297],c3=[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]],h3=[8235],D3=[8295],_3=[8238],d3=[9,11,31],f3=[12,32,5760,[8192,8202],8232,8287,12288],g3=Object.freeze(Object.defineProperty({__proto__:null,Arabic_Letter:U0,Arabic_Number:V0,Boundary_Neutral:K0,Common_Separator:J0,European_Number:Z0,European_Separator:q0,European_Terminator:Q0,First_Strong_Isolate:t3,Left_To_Right:e3,Left_To_Right_Embedding:s3,Left_To_Right_Isolate:n3,Left_To_Right_Override:i3,Nonspacing_Mark:r3,Other_Neutral:o3,Paragraph_Separator:a3,Pop_Directional_Format:u3,Pop_Directional_Isolate:l3,Right_To_Left:c3,Right_To_Left_Embedding:h3,Right_To_Left_Isolate:D3,Right_To_Left_Override:_3,Segment_Separator:d3,White_Space:f3},Symbol.toStringTag,{value:"Module"})),p3=[[125184,125259],[125264,125273],[125278,125279]],m3=[[71424,71450],[71453,71467],[71472,71494]],F3=[[82944,83526]],C3=[[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]],E3=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],b3=[[68352,68405],[68409,68415]],S3=[[6912,6988],[6992,7038]],T3=[[42656,42743],[92160,92728]],y3=[[92880,92909],[92912,92917]],v3=[[7104,7155],[7164,7167]],B3=[[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]],O3=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],w3=[[746,747],[12549,12591],[12704,12735]],A3=[[69632,69709],[69714,69749],69759],R3=[[10240,10495]],I3=[[6656,6683],[6686,6687]],x3=[[5952,5971]],P3=[[5120,5759],[6320,6389],[72368,72383]],M3=[[66208,66256]],L3=[[66864,66915],66927],$3=[[69888,69940],[69942,69959]],N3=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],k3=[[5024,5109],[5112,5117],[43888,43967]],H3=[[69552,69579]],X3=[[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]],Y3=[[994,1007],[11392,11507],[11513,11519]],z3=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],W3=[[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],j3=[[77712,77810]],G3=[[1024,1156],[1159,1327],[7296,7304],7467,7544,[11744,11775],[42560,42655],[65070,65071],[122928,122989],123023],U3=[[66560,66639]],V3=[[2304,2384],[2389,2403],[2406,2431],[43232,43263],[72448,72457]],K3=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],J3=[[71680,71739]],Z3=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113823]],q3=[[77824,78933]],Q3=[[66816,66855]],t8=[[69600,69622]],e8=[[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]],s8=[[4256,4293],4295,4301,[4304,4346],[4348,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],n8=[[11264,11359],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],i8=[[66352,66378]],r8=[[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]],o8=[[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]],a8=[[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]],u8=[[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],l8=[[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]],c8=[[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]],h8=[[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]],D8=[[68864,68903],[68912,68921]],_8=[[5920,5940]],d8=[[67808,67826],[67828,67829],[67835,67839]],f8=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],g8=[[12353,12438],[12445,12447],[110593,110879],110898,[110928,110930],127488],p8=[[67648,67669],[67671,67679]],m8=[[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]],F8=[[68448,68466],[68472,68479]],C8=[[68416,68437],[68440,68447]],E8=[[43392,43469],[43472,43481],[43486,43487]],b8=[[69760,69826],69837],S8=[[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]],T8=[[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]],y8=[[73472,73488],[73490,73530],[73534,73561]],v8=[[43264,43309],43311],B8=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],O8=[94180,[101120,101589]],w8=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],A8=[[70144,70161],[70163,70209]],R8=[[70320,70378],[70384,70393]],I8=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],x8=[[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]],P8=[[7168,7223],[7227,7241],[7245,7247]],M8=[[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],L8=[[67072,67382],[67392,67413],[67424,67431]],$8=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786]],N8=[[42192,42239],73648],k8=[[66176,66204]],H8=[[67872,67897],67903],X8=[[69968,70006]],Y8=[[73440,73464]],z8=[[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455]],W8=[[2112,2139],2142],j8=[[68288,68326],[68331,68342]],G8=[[72816,72847],[72850,72871],[72873,72886]],U8=[[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],V8=[[93760,93850]],K8=[[43744,43766],[43968,44013],[44016,44025]],J8=[[124928,125124],[125127,125142]],Z8=[[68e3,68023],[68028,68047],[68050,68095]],q8=[[67968,67999]],Q8=[[93952,94026],[94031,94087],[94095,94111]],t9=[[71168,71236],[71248,71257]],e9=[[6144,6145],6148,[6150,6169],[6176,6264],[6272,6314],[71264,71276]],s9=[[92736,92766],[92768,92777],[92782,92783]],n9=[[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],i9=[[4096,4255],[43488,43518],[43616,43647]],r9=[[67712,67742],[67751,67759]],o9=[[124112,124153]],a9=[[72096,72103],[72106,72151],[72154,72164]],u9=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],l9=[[70656,70747],[70749,70753]],c9=[[1984,2042],[2045,2047]],h9=[94177,[110960,111355]],D9=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],_9=[[5760,5788]],d9=[[7248,7295]],f9=[[68736,68786],[68800,68850],[68858,68863]],g9=[[66304,66339],[66349,66351]],p9=[[68224,68255]],m9=[[66384,66426]],F9=[[66464,66499],[66504,66517]],C9=[[69376,69415]],E9=[[68192,68223]],b9=[[68608,68680]],S9=[[69488,69513]],T9=[[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]],y9=[[66736,66771],[66776,66811]],v9=[[66688,66717],[66720,66729]],B9=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],O9=[[67680,67711]],w9=[[72384,72440]],A9=[[43072,43127]],R9=[[67840,67867],67871],I9=[[68480,68497],[68505,68508],[68521,68527]],x9=[[43312,43347],43359],P9=[[5792,5866],[5870,5880]],M9=[[2048,2093],[2096,2110]],L9=[[43136,43205],[43214,43225]],$9=[[70016,70111]],N9=[[66640,66687]],k9=[[71040,71093],[71096,71133]],H9=[[120832,121483],[121499,121503],[121505,121519]],X9=[[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],Y9=[[69424,69465]],z9=[[69840,69864],[69872,69881]],W9=[[72272,72354]],j9=[[7040,7103],[7360,7367]],G9=[[43008,43052]],U9=[[1792,1805],[1807,1866],[1869,1871],[2144,2154]],V9=[[5888,5909],5919],K9=[[5984,5996],[5998,6e3],[6002,6003]],J9=[[6480,6509],[6512,6516]],Z9=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],q9=[[43648,43714],[43739,43743]],Q9=[[71296,71353],[71360,71369]],t5=[[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],e5=[[92784,92862],[92864,92873]],s5=[94176,[94208,100343],[100352,101119],[101632,101640]],n5=[[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]],i5=[[1920,1969]],r5=[[3585,3642],[3648,3675]],o5=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],a5=[[11568,11623],[11631,11632],11647],u5=[[70784,70855],[70864,70873]],l5=[[123536,123566]],c5=[[66432,66461],66463],h5=[[42240,42539]],D5=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],_5=[[123584,123641],123647],d5=[[71840,71922],71935],f5=[[69248,69289],[69291,69293],[69296,69297]],g5=[[40960,42124],[42128,42182]],p5=[[72192,72263]],m5=Object.freeze(Object.defineProperty({__proto__:null,Adlam:p3,Ahom:m3,Anatolian_Hieroglyphs:F3,Arabic:C3,Armenian:E3,Avestan:b3,Balinese:S3,Bamum:T3,Bassa_Vah:y3,Batak:v3,Bengali:B3,Bhaiksuki:O3,Bopomofo:w3,Brahmi:A3,Braille:R3,Buginese:I3,Buhid:x3,Canadian_Aboriginal:P3,Carian:M3,Caucasian_Albanian:L3,Chakma:$3,Cham:N3,Cherokee:k3,Chorasmian:H3,Common:X3,Coptic:Y3,Cuneiform:z3,Cypriot:W3,Cypro_Minoan:j3,Cyrillic:G3,Deseret:U3,Devanagari:V3,Dives_Akuru:K3,Dogra:J3,Duployan:Z3,Egyptian_Hieroglyphs:q3,Elbasan:Q3,Elymaic:t8,Ethiopic:e8,Georgian:s8,Glagolitic:n8,Gothic:i8,Grantha:r8,Greek:o8,Gujarati:a8,Gunjala_Gondi:u8,Gurmukhi:l8,Han:c8,Hangul:h8,Hanifi_Rohingya:D8,Hanunoo:_8,Hatran:d8,Hebrew:f8,Hiragana:g8,Imperial_Aramaic:p8,Inherited:m8,Inscriptional_Pahlavi:F8,Inscriptional_Parthian:C8,Javanese:E8,Kaithi:b8,Kannada:S8,Katakana:T8,Kawi:y8,Kayah_Li:v8,Kharoshthi:B8,Khitan_Small_Script:O8,Khmer:w8,Khojki:A8,Khudawadi:R8,Lao:I8,Latin:x8,Lepcha:P8,Limbu:M8,Linear_A:L8,Linear_B:$8,Lisu:N8,Lycian:k8,Lydian:H8,Mahajani:X8,Makasar:Y8,Malayalam:z8,Mandaic:W8,Manichaean:j8,Marchen:G8,Masaram_Gondi:U8,Medefaidrin:V8,Meetei_Mayek:K8,Mende_Kikakui:J8,Meroitic_Cursive:Z8,Meroitic_Hieroglyphs:q8,Miao:Q8,Modi:t9,Mongolian:e9,Mro:s9,Multani:n9,Myanmar:i9,Nabataean:r9,Nag_Mundari:o9,Nandinagari:a9,New_Tai_Lue:u9,Newa:l9,Nko:c9,Nushu:h9,Nyiakeng_Puachue_Hmong:D9,Ogham:_9,Ol_Chiki:d9,Old_Hungarian:f9,Old_Italic:g9,Old_North_Arabian:p9,Old_Permic:m9,Old_Persian:F9,Old_Sogdian:C9,Old_South_Arabian:E9,Old_Turkic:b9,Old_Uyghur:S9,Oriya:T9,Osage:y9,Osmanya:v9,Pahawh_Hmong:B9,Palmyrene:O9,Pau_Cin_Hau:w9,Phags_Pa:A9,Phoenician:R9,Psalter_Pahlavi:I9,Rejang:x9,Runic:P9,Samaritan:M9,Saurashtra:L9,Sharada:$9,Shavian:N9,Siddham:k9,SignWriting:H9,Sinhala:X9,Sogdian:Y9,Sora_Sompeng:z9,Soyombo:W9,Sundanese:j9,Syloti_Nagri:G9,Syriac:U9,Tagalog:V9,Tagbanwa:K9,Tai_Le:J9,Tai_Tham:Z9,Tai_Viet:q9,Takri:Q9,Tamil:t5,Tangsa:e5,Tangut:s5,Telugu:n5,Thaana:i5,Thai:r5,Tibetan:o5,Tifinagh:a5,Tirhuta:u5,Toto:l5,Ugaritic:c5,Vai:h5,Vithkuqi:D5,Wancho:_5,Warang_Citi:d5,Yezidi:f5,Yi:g5,Zanabazar_Square:p5},Symbol.toStringTag,{value:"Module"})),F5=[1567,1600,[125184,125259],[125264,125273],[125278,125279]],C5=[[71424,71450],[71453,71467],[71472,71494]],E5=[[82944,83526]],b5=[[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]],S5=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],T5=[[68352,68405],[68409,68415]],y5=[[6912,6988],[6992,7038]],v5=[[42656,42743],[92160,92728]],B5=[[92880,92909],[92912,92917]],O5=[[7104,7155],[7164,7167]],w5=[[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],A5=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],R5=[[746,747],[12289,12291],[12296,12305],[12307,12319],[12330,12333],12336,12343,12539,[12549,12591],[12704,12735],[65093,65094],[65377,65381]],I5=[[69632,69709],[69714,69749],69759],x5=[[10240,10495]],P5=[[6656,6683],[6686,6687],43471],M5=[[5941,5942],[5952,5971]],L5=[[5120,5759],[6320,6389],[72368,72383]],$5=[[66208,66256]],N5=[[66864,66915],66927],k5=[[2534,2543],[4160,4169],[69888,69940],[69942,69959]],H5=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],X5=[[5024,5109],[5112,5117],[43888,43967]],Y5=[[69552,69579]],z5=[[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]],W5=[[994,1007],[11392,11507],[11513,11519],[66272,66299]],j5=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],G5=[[65792,65794],[65799,65843],[65847,65855],[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],U5=[[65792,65793],[77712,77810]],V5=[[1024,1327],[7296,7304],7467,7544,7672,[11744,11775],11843,[42560,42655],[65070,65071],[122928,122989],123023],K5=[[66560,66639]],J5=[[2304,2386],[2389,2431],[7376,7414],[7416,7417],8432,[43056,43065],[43232,43263],[72448,72457]],Z5=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],q5=[[2404,2415],[43056,43065],[71680,71739]],Q5=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827]],ts=[[77824,78933]],es=[[66816,66855]],ss=[[69600,69622]],ns=[[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]],is=[[4256,4293],4295,4301,[4304,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],rs=[1156,1159,[11264,11359],11843,42607,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],os=[[66352,66378]],as=[[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],us=[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]],ls=[[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]],cs=[[2404,2405],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],hs=[[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]],Ds=[[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]],_s=[[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]],ds=[1548,1563,1567,1600,1748,[68864,68903],[68912,68921]],fs=[[5920,5942]],gs=[[67808,67826],[67828,67829],[67835,67839]],ps=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],ms=[[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],Fs=[[67648,67669],[67671,67679]],Cs=[[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]],Es=[[68448,68466],[68472,68479]],bs=[[68416,68437],[68440,68447]],Ss=[[43392,43469],[43471,43481],[43486,43487]],Ts=[[2406,2415],[43056,43065],[69760,69826],69837],ys=[[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]],vs=[[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]],Bs=[[73472,73488],[73490,73530],[73534,73561]],Os=[[43264,43311]],ws=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],As=[94180,[101120,101589]],Rs=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],Is=[[2790,2799],[43056,43065],[70144,70161],[70163,70209]],xs=[[2404,2405],[43056,43065],[70320,70378],[70384,70393]],Ps=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],Ms=[[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]],Ls=[[7168,7223],[7227,7241],[7245,7247]],$s=[2405,[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],Ns=[[65799,65843],[67072,67382],[67392,67413],[67424,67431]],ks=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65855]],Hs=[[42192,42239],73648],Xs=[[66176,66204]],Ys=[[67872,67897],67903],zs=[[2404,2415],[43056,43065],[69968,70006]],Ws=[[73440,73464]],js=[[2385,2386],[2404,2405],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],7386,[43056,43058]],Gs=[1600,[2112,2139],2142],Us=[1600,[68288,68326],[68331,68342]],Vs=[[72816,72847],[72850,72871],[72873,72886]],Ks=[[2404,2405],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],Js=[[93760,93850]],Zs=[[43744,43766],[43968,44013],[44016,44025]],qs=[[124928,125124],[125127,125142]],Qs=[[68e3,68023],[68028,68047],[68050,68095]],tn=[[67968,67999]],en=[[93952,94026],[94031,94087],[94095,94111]],sn=[[43056,43065],[71168,71236],[71248,71257]],nn=[[6144,6169],[6176,6264],[6272,6314],8239,[71264,71276]],rn=[[92736,92766],[92768,92777],[92782,92783]],on=[[2662,2671],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],an=[[4096,4255],43310,[43488,43518],[43616,43647]],un=[[67712,67742],[67751,67759]],ln=[[124112,124153]],cn=[[2404,2405],[3302,3311],7401,7410,7418,[43056,43061],[72096,72103],[72106,72151],[72154,72164]],hn=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],Dn=[[70656,70747],[70749,70753]],_n=[1548,1563,1567,[1984,2042],[2045,2047],[64830,64831]],dn=[94177,[110960,111355]],fn=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],gn=[[5760,5788]],pn=[[7248,7295]],mn=[[68736,68786],[68800,68850],[68858,68863]],Fn=[[66304,66339],[66349,66351]],Cn=[[68224,68255]],En=[1155,[66384,66426]],bn=[[66464,66499],[66504,66517]],Sn=[[69376,69415]],Tn=[[68192,68223]],yn=[[68608,68680]],vn=[1600,68338,[69488,69513]],Bn=[[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],On=[[66736,66771],[66776,66811]],wn=[[66688,66717],[66720,66729]],An=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],Rn=[[67680,67711]],In=[[72384,72440]],xn=[[6146,6147],6149,[43072,43127]],Pn=[[67840,67867],67871],Mn=[1600,[68480,68497],[68505,68508],[68521,68527]],Ln=[[43312,43347],43359],$n=[[5792,5866],[5870,5880]],Nn=[[2048,2093],[2096,2110]],kn=[[43136,43205],[43214,43225]],Hn=[2385,7383,7385,[7388,7389],7392,[70016,70111]],Xn=[[66640,66687]],Yn=[[71040,71093],[71096,71133]],zn=[[120832,121483],[121499,121503],[121505,121519]],Wn=[[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]],jn=[1600,[69424,69465]],Gn=[[69840,69864],[69872,69881]],Un=[[72272,72354]],Vn=[[7040,7103],[7360,7367]],Kn=[[2404,2405],[2534,2543],[43008,43052]],Jn=[1548,[1563,1564],1567,1600,[1611,1621],1648,[1792,1805],[1807,1866],[1869,1871],[2144,2154],7672,7674],Zn=[[5888,5909],5919,[5941,5942]],qn=[[5941,5942],[5984,5996],[5998,6e3],[6002,6003]],Qn=[[4160,4169],[6480,6509],[6512,6516]],ti=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],ei=[[43648,43714],[43739,43743]],si=[[2404,2405],[43056,43065],[71296,71353],[71360,71369]],ni=[[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],ii=[[92784,92862],[92864,92873]],ri=[94176,[94208,100343],[100352,101119],[101632,101640]],oi=[[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],ai=[1548,[1563,1564],1567,[1632,1641],[1920,1969],65010,65021],ui=[[3585,3642],[3648,3675]],li=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],ci=[[11568,11623],[11631,11632],11647],hi=[[2385,2386],[2404,2405],7410,[43056,43065],[70784,70855],[70864,70873]],Di=[[123536,123566]],_i=[[66432,66461],66463],di=[[42240,42539]],fi=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],gi=[[123584,123641],123647],pi=[[71840,71922],71935],mi=[1548,1563,1567,[1632,1641],[69248,69289],[69291,69293],[69296,69297]],Fi=[[12289,12290],[12296,12305],[12308,12315],12539,[40960,42124],[42128,42182],[65377,65381]],Ci=[[72192,72263]],Ei=Object.freeze(Object.defineProperty({__proto__:null,Adlam:F5,Ahom:C5,Anatolian_Hieroglyphs:E5,Arabic:b5,Armenian:S5,Avestan:T5,Balinese:y5,Bamum:v5,Bassa_Vah:B5,Batak:O5,Bengali:w5,Bhaiksuki:A5,Bopomofo:R5,Brahmi:I5,Braille:x5,Buginese:P5,Buhid:M5,Canadian_Aboriginal:L5,Carian:$5,Caucasian_Albanian:N5,Chakma:k5,Cham:H5,Cherokee:X5,Chorasmian:Y5,Common:z5,Coptic:W5,Cuneiform:j5,Cypriot:G5,Cypro_Minoan:U5,Cyrillic:V5,Deseret:K5,Devanagari:J5,Dives_Akuru:Z5,Dogra:q5,Duployan:Q5,Egyptian_Hieroglyphs:ts,Elbasan:es,Elymaic:ss,Ethiopic:ns,Georgian:is,Glagolitic:rs,Gothic:os,Grantha:as,Greek:us,Gujarati:ls,Gunjala_Gondi:cs,Gurmukhi:hs,Han:Ds,Hangul:_s,Hanifi_Rohingya:ds,Hanunoo:fs,Hatran:gs,Hebrew:ps,Hiragana:ms,Imperial_Aramaic:Fs,Inherited:Cs,Inscriptional_Pahlavi:Es,Inscriptional_Parthian:bs,Javanese:Ss,Kaithi:Ts,Kannada:ys,Katakana:vs,Kawi:Bs,Kayah_Li:Os,Kharoshthi:ws,Khitan_Small_Script:As,Khmer:Rs,Khojki:Is,Khudawadi:xs,Lao:Ps,Latin:Ms,Lepcha:Ls,Limbu:$s,Linear_A:Ns,Linear_B:ks,Lisu:Hs,Lycian:Xs,Lydian:Ys,Mahajani:zs,Makasar:Ws,Malayalam:js,Mandaic:Gs,Manichaean:Us,Marchen:Vs,Masaram_Gondi:Ks,Medefaidrin:Js,Meetei_Mayek:Zs,Mende_Kikakui:qs,Meroitic_Cursive:Qs,Meroitic_Hieroglyphs:tn,Miao:en,Modi:sn,Mongolian:nn,Mro:rn,Multani:on,Myanmar:an,Nabataean:un,Nag_Mundari:ln,Nandinagari:cn,New_Tai_Lue:hn,Newa:Dn,Nko:_n,Nushu:dn,Nyiakeng_Puachue_Hmong:fn,Ogham:gn,Ol_Chiki:pn,Old_Hungarian:mn,Old_Italic:Fn,Old_North_Arabian:Cn,Old_Permic:En,Old_Persian:bn,Old_Sogdian:Sn,Old_South_Arabian:Tn,Old_Turkic:yn,Old_Uyghur:vn,Oriya:Bn,Osage:On,Osmanya:wn,Pahawh_Hmong:An,Palmyrene:Rn,Pau_Cin_Hau:In,Phags_Pa:xn,Phoenician:Pn,Psalter_Pahlavi:Mn,Rejang:Ln,Runic:$n,Samaritan:Nn,Saurashtra:kn,Sharada:Hn,Shavian:Xn,Siddham:Yn,SignWriting:zn,Sinhala:Wn,Sogdian:jn,Sora_Sompeng:Gn,Soyombo:Un,Sundanese:Vn,Syloti_Nagri:Kn,Syriac:Jn,Tagalog:Zn,Tagbanwa:qn,Tai_Le:Qn,Tai_Tham:ti,Tai_Viet:ei,Takri:si,Tamil:ni,Tangsa:ii,Tangut:ri,Telugu:oi,Thaana:ai,Thai:ui,Tibetan:li,Tifinagh:ci,Tirhuta:hi,Toto:Di,Ugaritic:_i,Vai:di,Vithkuqi:fi,Wancho:gi,Warang_Citi:pi,Yezidi:mi,Yi:Fi,Zanabazar_Square:Ci},Symbol.toStringTag,{value:"Module"})),bi=[],Si=[],Ti=[],yi=[],vi=Object.freeze(Object.defineProperty({__proto__:null,C:bi,F:Si,S:Ti,T:yi},Symbol.toStringTag,{value:"Module"})),Bi=[[125184,125279]],Oi=[[65792,65855]],wi=[[71424,71503]],Ai=[[128768,128895]],Ri=[[64256,64335]],Ii=[[82944,83583]],xi=[[119296,119375]],Pi=[[65856,65935]],Mi=[[65936,65999]],Li=[[1536,1791]],$i=[[2208,2303]],Ni=[[126464,126719]],ki=[[64336,65023]],Hi=[[65136,65279]],Xi=[[1872,1919]],Yi=[[1328,1423]],zi=[[8592,8703]],Wi=[[68352,68415]],ji=[[6912,7039]],Gi=[[42656,42751]],Ui=[[92160,92735]],Vi=[[0,127]],Ki=[[92880,92927]],Ji=[[7104,7167]],Zi=[[2432,2559]],qi=[[72704,72815]],Qi=[[9600,9631]],tr=[[12544,12591]],er=[[12704,12735]],sr=[[9472,9599]],nr=[[69632,69759]],ir=[[10240,10495]],rr=[[6656,6687]],or=[[5952,5983]],ar=[[118784,119039]],ur=[[13056,13311]],lr=[[65072,65103]],cr=[[63744,64255]],hr=[[194560,195103]],Dr=[[11904,12031]],_r=[[12736,12783]],dr=[[12288,12351]],fr=[[19968,40959]],gr=[[13312,19903]],pr=[[131072,173791]],mr=[[173824,177983]],Fr=[[177984,178207]],Cr=[[178208,183983]],Er=[[183984,191471]],br=[[66208,66271]],Sr=[[66864,66927]],Tr=[[69888,69967]],yr=[[43520,43615]],vr=[[5024,5119]],Br=[[43888,43967]],Or=[[129536,129647]],wr=[[768,879]],Ar=[[6832,6911]],Rr=[[8400,8447]],Ir=[[7616,7679]],xr=[[65056,65071]],Pr=[[43056,43071]],Mr=[[9216,9279]],Lr=[[11392,11519]],$r=[[66272,66303]],Nr=[[119648,119679]],kr=[[73728,74751]],Hr=[[74752,74879]],Xr=[[8352,8399]],Yr=[[67584,67647]],zr=[[1024,1279]],Wr=[[11744,11775]],jr=[[42560,42655]],Gr=[[7296,7311]],Ur=[[1280,1327]],Vr=[[66560,66639]],Kr=[[2304,2431]],Jr=[[43232,43263]],Zr=[[9984,10175]],qr=[[71680,71759]],Qr=[[127024,127135]],to=[[113664,113823]],eo=[[74880,75087]],so=[[77824,78895]],no=[[66816,66863]],io=[[128512,128591]],ro=[[127232,127487]],oo=[[9312,9471]],ao=[[12800,13055]],uo=[[127488,127743]],lo=[[4608,4991]],co=[[11648,11743]],ho=[[43776,43823]],Do=[[4992,5023]],_o=[[8192,8303]],fo=[[9632,9727]],go=[[128896,129023]],po=[[4256,4351]],mo=[[7312,7359]],Fo=[[11520,11567]],Co=[[11264,11359]],Eo=[[122880,122927]],bo=[[66352,66383]],So=[[70400,70527]],To=[[880,1023]],yo=[[7936,8191]],vo=[[2688,2815]],Bo=[[73056,73135]],Oo=[[2560,2687]],wo=[[65280,65519]],Ao=[[12592,12687]],Ro=[[4352,4607]],Io=[[43360,43391]],xo=[[55216,55295]],Po=[[44032,55215]],Mo=[[68864,68927]],Lo=[[5920,5951]],$o=[[67808,67839]],No=[[1424,1535]],ko=[[56192,56319]],Ho=[[55296,56191]],Xo=[[12352,12447]],Yo=[[592,687]],zo=[[12272,12287]],Wo=[[94176,94207]],jo=[[67648,67679]],Go=[[126064,126143]],Uo=[[68448,68479]],Vo=[[68416,68447]],Ko=[[43392,43487]],Jo=[[69760,69839]],Zo=[[110848,110895]],qo=[[110592,110847]],Qo=[[12688,12703]],ta=[[12032,12255]],ea=[[3200,3327]],sa=[[12448,12543]],na=[[12784,12799]],ia=[[43264,43311]],ra=[[68096,68191]],oa=[[6016,6143]],aa=[[6624,6655]],ua=[[70144,70223]],la=[[70320,70399]],ca=[[3712,3839]],ha=[[128,255]],Da=[[256,383]],_a=[[7680,7935]],da=[[384,591]],fa=[[11360,11391]],ga=[[42784,43007]],pa=[[43824,43887]],ma=[[7168,7247]],Fa=[[8448,8527]],Ca=[[6400,6479]],Ea=[[67072,67455]],ba=[[65664,65791]],Sa=[[65536,65663]],Ta=[[42192,42239]],ya=[[56320,57343]],va=[[66176,66207]],Ba=[[67872,67903]],Oa=[[69968,70015]],wa=[[126976,127023]],Aa=[[73440,73471]],Ra=[[3328,3455]],Ia=[[2112,2143]],xa=[[68288,68351]],Pa=[[72816,72895]],Ma=[[72960,73055]],La=[[119808,120831]],$a=[[8704,8959]],Na=[[119520,119551]],ka=[[93760,93855]],Ha=[[43968,44031]],Xa=[[43744,43775]],Ya=[[124928,125151]],za=[[68e3,68095]],Wa=[[67968,67999]],ja=[[93952,94111]],Ga=[[10176,10223]],Ua=[[10624,10751]],Va=[[9728,9983]],Ka=[[11008,11263]],Ja=[[127744,128511]],Za=[[8960,9215]],qa=[[71168,71263]],Qa=[[42752,42783]],tu=[[6144,6319]],eu=[[71264,71295]],su=[[92736,92783]],nu=[[70272,70319]],iu=[[119040,119295]],ru=[[4096,4255]],ou=[[43616,43647]],au=[[43488,43519]],uu=[[1984,2047]],lu=[[67712,67759]],cu=[[6528,6623]],hu=[[70656,70783]],Du=[[8528,8591]],_u=[[110960,111359]],du=[[5760,5791]],fu=[[7248,7295]],gu=[[68736,68863]],pu=[[66304,66351]],mu=[[68224,68255]],Fu=[[66384,66431]],Cu=[[66464,66527]],Eu=[[69376,69423]],bu=[[68192,68223]],Su=[[68608,68687]],Tu=[[9280,9311]],yu=[[2816,2943]],vu=[[128592,128639]],Bu=[[66736,66815]],Ou=[[66688,66735]],wu=[[92928,93071]],Au=[[67680,67711]],Ru=[[72384,72447]],Iu=[[43072,43135]],xu=[[66e3,66047]],Pu=[[67840,67871]],Mu=[[7424,7551]],Lu=[[7552,7615]],$u=[[127136,127231]],Nu=[[57344,63743]],ku=[[68480,68527]],Hu=[[43312,43359]],Xu=[[69216,69247]],Yu=[[5792,5887]],zu=[[2048,2111]],Wu=[[43136,43231]],ju=[[70016,70111]],Gu=[[66640,66687]],Uu=[[113824,113839]],Vu=[[71040,71167]],Ku=[[3456,3583]],Ju=[[70112,70143]],Zu=[[65104,65135]],qu=[[69424,69487]],Qu=[[69840,69887]],tl=[[72272,72367]],el=[[688,767]],sl=[[65520,65535]],nl=[[7040,7103]],il=[[7360,7375]],rl=[[8304,8351]],ol=[[10224,10239]],al=[[10496,10623]],ul=[[129024,129279]],ll=[[10752,11007]],cl=[[11776,11903]],hl=[[129280,129535]],Dl=[[983040,1048575]],_l=[[1048576,1114111]],dl=[[120832,121519]],fl=[[43008,43055]],gl=[[1792,1871]],pl=[[2144,2159]],ml=[[5888,5919]],Fl=[[5984,6015]],Cl=[[917504,917631]],El=[[6480,6527]],bl=[[6688,6831]],Sl=[[43648,43743]],Tl=[[119552,119647]],yl=[[71296,71375]],vl=[[2944,3071]],Bl=[[94208,100351]],Ol=[[100352,101119]],wl=[[3072,3199]],Al=[[1920,1983]],Rl=[[3584,3711]],Il=[[3840,4095]],xl=[[11568,11647]],Pl=[[70784,70879]],Ml=[[128640,128767]],Ll=[[66432,66463]],$l=[[5120,5759]],Nl=[[6320,6399]],kl=[[42240,42559]],Hl=[[65024,65039]],Xl=[[917760,917999]],Yl=[[7376,7423]],zl=[[65040,65055]],Wl=[[71840,71935]],jl=[[42128,42191]],Gl=[[40960,42127]],Ul=[[19904,19967]],Vl=[[72192,72271]],Kl=[[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]],Jl=Object.freeze(Object.defineProperty({__proto__:null,Adlam:Bi,Aegean_Numbers:Oi,Ahom:wi,Alchemical_Symbols:Ai,Alphabetic_Presentation_Forms:Ri,Anatolian_Hieroglyphs:Ii,Ancient_Greek_Musical_Notation:xi,Ancient_Greek_Numbers:Pi,Ancient_Symbols:Mi,Arabic:Li,Arabic_Extended_A:$i,Arabic_Mathematical_Alphabetic_Symbols:Ni,Arabic_Presentation_Forms_A:ki,Arabic_Presentation_Forms_B:Hi,Arabic_Supplement:Xi,Armenian:Yi,Arrows:zi,Avestan:Wi,Balinese:ji,Bamum:Gi,Bamum_Supplement:Ui,Basic_Latin:Vi,Bassa_Vah:Ki,Batak:Ji,Bengali:Zi,Bhaiksuki:qi,Block_Elements:Qi,Bopomofo:tr,Bopomofo_Extended:er,Box_Drawing:sr,Brahmi:nr,Braille_Patterns:ir,Buginese:rr,Buhid:or,Byzantine_Musical_Symbols:ar,CJK_Compatibility:ur,CJK_Compatibility_Forms:lr,CJK_Compatibility_Ideographs:cr,CJK_Compatibility_Ideographs_Supplement:hr,CJK_Radicals_Supplement:Dr,CJK_Strokes:_r,CJK_Symbols_And_Punctuation:dr,CJK_Unified_Ideographs:fr,CJK_Unified_Ideographs_Extension_A:gr,CJK_Unified_Ideographs_Extension_B:pr,CJK_Unified_Ideographs_Extension_C:mr,CJK_Unified_Ideographs_Extension_D:Fr,CJK_Unified_Ideographs_Extension_E:Cr,CJK_Unified_Ideographs_Extension_F:Er,Carian:br,Caucasian_Albanian:Sr,Chakma:Tr,Cham:yr,Cherokee:vr,Cherokee_Supplement:Br,Chess_Symbols:Or,Combining_Diacritical_Marks:wr,Combining_Diacritical_Marks_Extended:Ar,Combining_Diacritical_Marks_For_Symbols:Rr,Combining_Diacritical_Marks_Supplement:Ir,Combining_Half_Marks:xr,Common_Indic_Number_Forms:Pr,Control_Pictures:Mr,Coptic:Lr,Coptic_Epact_Numbers:$r,Counting_Rod_Numerals:Nr,Cuneiform:kr,Cuneiform_Numbers_And_Punctuation:Hr,Currency_Symbols:Xr,Cypriot_Syllabary:Yr,Cyrillic:zr,Cyrillic_Extended_A:Wr,Cyrillic_Extended_B:jr,Cyrillic_Extended_C:Gr,Cyrillic_Supplement:Ur,Deseret:Vr,Devanagari:Kr,Devanagari_Extended:Jr,Dingbats:Zr,Dogra:qr,Domino_Tiles:Qr,Duployan:to,Early_Dynastic_Cuneiform:eo,Egyptian_Hieroglyphs:so,Elbasan:no,Emoticons:io,Enclosed_Alphanumeric_Supplement:ro,Enclosed_Alphanumerics:oo,Enclosed_CJK_Letters_And_Months:ao,Enclosed_Ideographic_Supplement:uo,Ethiopic:lo,Ethiopic_Extended:co,Ethiopic_Extended_A:ho,Ethiopic_Supplement:Do,General_Punctuation:_o,Geometric_Shapes:fo,Geometric_Shapes_Extended:go,Georgian:po,Georgian_Extended:mo,Georgian_Supplement:Fo,Glagolitic:Co,Glagolitic_Supplement:Eo,Gothic:bo,Grantha:So,Greek_And_Coptic:To,Greek_Extended:yo,Gujarati:vo,Gunjala_Gondi:Bo,Gurmukhi:Oo,Halfwidth_And_Fullwidth_Forms:wo,Hangul_Compatibility_Jamo:Ao,Hangul_Jamo:Ro,Hangul_Jamo_Extended_A:Io,Hangul_Jamo_Extended_B:xo,Hangul_Syllables:Po,Hanifi_Rohingya:Mo,Hanunoo:Lo,Hatran:$o,Hebrew:No,High_Private_Use_Surrogates:ko,High_Surrogates:Ho,Hiragana:Xo,IPA_Extensions:Yo,Ideographic_Description_Characters:zo,Ideographic_Symbols_And_Punctuation:Wo,Imperial_Aramaic:jo,Indic_Siyaq_Numbers:Go,Inscriptional_Pahlavi:Uo,Inscriptional_Parthian:Vo,Javanese:Ko,Kaithi:Jo,Kana_Extended_A:Zo,Kana_Supplement:qo,Kanbun:Qo,Kangxi_Radicals:ta,Kannada:ea,Katakana:sa,Katakana_Phonetic_Extensions:na,Kayah_Li:ia,Kharoshthi:ra,Khmer:oa,Khmer_Symbols:aa,Khojki:ua,Khudawadi:la,Lao:ca,Latin_1_Supplement:ha,Latin_Extended_A:Da,Latin_Extended_Additional:_a,Latin_Extended_B:da,Latin_Extended_C:fa,Latin_Extended_D:ga,Latin_Extended_E:pa,Lepcha:ma,Letterlike_Symbols:Fa,Limbu:Ca,Linear_A:Ea,Linear_B_Ideograms:ba,Linear_B_Syllabary:Sa,Lisu:Ta,Low_Surrogates:ya,Lycian:va,Lydian:Ba,Mahajani:Oa,Mahjong_Tiles:wa,Makasar:Aa,Malayalam:Ra,Mandaic:Ia,Manichaean:xa,Marchen:Pa,Masaram_Gondi:Ma,Mathematical_Alphanumeric_Symbols:La,Mathematical_Operators:$a,Mayan_Numerals:Na,Medefaidrin:ka,Meetei_Mayek:Ha,Meetei_Mayek_Extensions:Xa,Mende_Kikakui:Ya,Meroitic_Cursive:za,Meroitic_Hieroglyphs:Wa,Miao:ja,Miscellaneous_Mathematical_Symbols_A:Ga,Miscellaneous_Mathematical_Symbols_B:Ua,Miscellaneous_Symbols:Va,Miscellaneous_Symbols_And_Arrows:Ka,Miscellaneous_Symbols_And_Pictographs:Ja,Miscellaneous_Technical:Za,Modi:qa,Modifier_Tone_Letters:Qa,Mongolian:tu,Mongolian_Supplement:eu,Mro:su,Multani:nu,Musical_Symbols:iu,Myanmar:ru,Myanmar_Extended_A:ou,Myanmar_Extended_B:au,NKo:uu,Nabataean:lu,New_Tai_Lue:cu,Newa:hu,Number_Forms:Du,Nushu:_u,Ogham:du,Ol_Chiki:fu,Old_Hungarian:gu,Old_Italic:pu,Old_North_Arabian:mu,Old_Permic:Fu,Old_Persian:Cu,Old_Sogdian:Eu,Old_South_Arabian:bu,Old_Turkic:Su,Optical_Character_Recognition:Tu,Oriya:yu,Ornamental_Dingbats:vu,Osage:Bu,Osmanya:Ou,Pahawh_Hmong:wu,Palmyrene:Au,Pau_Cin_Hau:Ru,Phags_Pa:Iu,Phaistos_Disc:xu,Phoenician:Pu,Phonetic_Extensions:Mu,Phonetic_Extensions_Supplement:Lu,Playing_Cards:$u,Private_Use_Area:Nu,Psalter_Pahlavi:ku,Rejang:Hu,Rumi_Numeral_Symbols:Xu,Runic:Yu,Samaritan:zu,Saurashtra:Wu,Sharada:ju,Shavian:Gu,Shorthand_Format_Controls:Uu,Siddham:Vu,Sinhala:Ku,Sinhala_Archaic_Numbers:Ju,Small_Form_Variants:Zu,Sogdian:qu,Sora_Sompeng:Qu,Soyombo:tl,Spacing_Modifier_Letters:el,Specials:sl,Sundanese:nl,Sundanese_Supplement:il,Superscripts_And_Subscripts:rl,Supplemental_Arrows_A:ol,Supplemental_Arrows_B:al,Supplemental_Arrows_C:ul,Supplemental_Mathematical_Operators:ll,Supplemental_Punctuation:cl,Supplemental_Symbols_And_Pictographs:hl,Supplementary_Private_Use_Area_A:Dl,Supplementary_Private_Use_Area_B:_l,Sutton_SignWriting:dl,Syloti_Nagri:fl,Syriac:gl,Syriac_Supplement:pl,Tagalog:ml,Tagbanwa:Fl,Tags:Cl,Tai_Le:El,Tai_Tham:bl,Tai_Viet:Sl,Tai_Xuan_Jing_Symbols:Tl,Takri:yl,Tamil:vl,Tangut:Bl,Tangut_Components:Ol,Telugu:wl,Thaana:Al,Thai:Rl,Tibetan:Il,Tifinagh:xl,Tirhuta:Pl,Transport_And_Map_Symbols:Ml,Ugaritic:Ll,Unified_Canadian_Aboriginal_Syllabics:$l,Unified_Canadian_Aboriginal_Syllabics_Extended:Nl,Vai:kl,Variation_Selectors:Hl,Variation_Selectors_Supplement:Xl,Vedic_Extensions:Yl,Vertical_Forms:zl,Warang_Citi:Wl,Yi_Radicals:jl,Yi_Syllables:Gl,Yijing_Hexagram_Symbols:Ul,Zanabazar_Square:Vl,undefined:Kl},Symbol.toStringTag,{value:"Module"})),Zl=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ql=[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],Ql=[[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]],tc=[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],ec=Object.freeze(Object.defineProperty({__proto__:null,Close:ql,None:Ql,Open:tc},Symbol.toStringTag,{value:"Module"})),sc=[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]],nc=[[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]],ic=[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]],rc=[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],oc=[8212,[11834,11835]],ac=[47],uc=[13],lc=[41,93],cc=[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],hc=[[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]],Dc=[[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]],_c=[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]],dc=[65532],fc=[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]],gc=[[127995,127999]],pc=[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],mc=[160,847,[860,866],3848,3852,3858,[4057,4058],6158,7629,7676,8199,8209,8239,[78896,78902],[78905,78907],94180],Fc=[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],Cc=[[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]],Ec=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],bc=[45],Sc=[[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]],Tc=[44,46,[58,59],894,1417,[1548,1549],2040,8260,65040,[65043,65044]],yc=[[8228,8230],8943,65049,68342],vc=[[4352,4447],[43360,43388]],Bc=[[4520,4607],[55243,55291]],Oc=[[4448,4519],[55216,55238]],wc=[10],Ac=[[11,12],[8232,8233]],Rc=[133],Ic=[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]],xc=[[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]],Pc=[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]],Mc=[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],Lc=[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],$c=[34,39,171,187,[8216,8217],[8219,8221],8223,[8249,8250],[10075,10080],[11776,11789],[11804,11805],[11808,11809],[128630,128632]],Nc=[[127462,127487]],kc=[32],Hc=[[55296,57343]],Xc=[[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]],Yc=[8288,65279],zc=[8205],Wc=[8203],jc=Object.freeze(Object.defineProperty({__proto__:null,Alphabetic:sc,Ambiguous:nc,Break_After:ic,Break_Before:rc,Break_Both:oc,Break_Symbols:ac,Carriage_Return:uc,Close_Parenthesis:lc,Close_Punctuation:cc,Combining_Mark:hc,Complex_Context:Dc,Conditional_Japanese_Starter:_c,Contingent_Break:dc,E_Base:fc,E_Modifier:gc,Exclamation:pc,Glue:mc,H2:Fc,H3:Cc,Hebrew_Letter:Ec,Hyphen:bc,Ideographic:Sc,Infix_Numeric:Tc,Inseparable:yc,JL:vc,JT:Bc,JV:Oc,Line_Feed:wc,Mandatory_Break:Ac,Next_Line:Rc,Nonstarter:Ic,Numeric:xc,Open_Punctuation:Pc,Postfix_Numeric:Mc,Prefix_Numeric:Lc,Quotation:$c,Regional_Indicator:Nc,Space:kc,Surrogate:Hc,Unknown:Xc,Word_Joiner:Yc,ZWJ:zc,ZWSpace:Wc},Symbol.toStringTag,{value:"Module"})),Gc=[[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]],Uc=[13],Vc=[34],Kc=[[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]],Jc=[95,8239,[8255,8256],8276,[65075,65076],[65101,65103],65343],Zc=[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],qc=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],Qc=[[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]],th=[10],eh=[58,183,903,1375,1524,8231,65043,65109,65306],sh=[44,59,894,1417,[1548,1549],1644,2040,8260,65040,65044,65104,65108,65292,65307],nh=[46,[8216,8217],8228,65106,65287,65294],ih=[[11,12],133,[8232,8233]],rh=[[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]],oh=[[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]],ah=[[127462,127487]],uh=[39],lh=[32,5760,[8192,8198],[8200,8202],8287,12288],ch=[8205],hh=Object.freeze(Object.defineProperty({__proto__:null,ALetter:Gc,CR:Uc,Double_Quote:Vc,Extend:Kc,ExtendNumLet:Jc,Format:Zc,Hebrew_Letter:qc,Katakana:Qc,LF:th,MidLetter:eh,MidNum:sh,MidNumLet:nh,Newline:ih,Numeric:rh,Other:oh,Regional_Indicator:ah,Single_Quote:uh,WSegSpace:lh,ZWJ:ch},Symbol.toStringTag,{value:"Module"})),Dh=Object.freeze(Object.defineProperty({__proto__:null,Bidi_Class:g3,Bidi_Mirroring_Glyph:Zl,Bidi_Paired_Bracket_Type:ec,Binary_Property:a0,Block:Jl,Case_Folding:vi,General_Category:G0,Line_Break:jc,Script:m5,Script_Extensions:Ei,Word_Break:hh},Symbol.toStringTag,{value:"Module"}));function Q7(r){const s=Object.keys(r);if(s.length===0)throw new Error("Expected at least one category, but received 0.");if(s.some(e=>{const n=r[e];return n===void 0||n.length===0}))throw new Error("Expected at least one sub category, but received 0.");return s.map(e=>{const i=r[e].map(o=>_h(e,o));return new T1().union(...i)}).reduce((e,n)=>e.intersect(n))}function _h(r,s){const e=Dh[r][s];return new T1().union(...e)}const M6=Q7({Script:["Han","Katakana","Hiragana","Hangul","Bopomofo"],General_Category:["Other_Letter","Letter_Number","Other_Symbol","Modifier_Letter"]}),t4=Q7({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(M6),dh=J2(M6,t4);function fh(){return J2(dh)}function gh(){return J2(M6)}function ph(){return J2(t4)}const m7=r=>({sbr:.6,sbo:r,spr:.6,spo:r});class P1{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(s,t,e){this._globalFontMeasureCache.has(s)||this._globalFontMeasureCache.set(s,new Map);const n=this._globalFontMeasureCache.get(s);n&&n.set(t,e)}static clearFontMeasureCache(s){var e;const t=s.split("/");if(t.length===1){const n=t[0];this._globalFontMeasureCache.delete(n)}else if(t.length===2){const n=t[0],i=t[1];(e=this._globalFontMeasureCache.get(n))==null||e.delete(i)}else return!1;return!0}static getFontMeasureCache(s,t){var e;return(e=this._globalFontMeasureCache.get(s))==null?void 0:e.get(t)}static autoCleanFontMeasureCache(s=1e6){let t=0,e=!1;for(const n of this._globalFontMeasureCache){const[,i]=n;if(t+=i.size,t>s){e=!0;break}}if(e){let n=0;for(const i of this._globalFontMeasureCache){const[o,a]=i;if(n+=a.size,n>s/2){const l=n-s/2;this._clearMeasureCache(l,a);break}this._globalFontMeasureCache.delete(o)}return!0}return!1}static getBaselineOffsetInfo(s,t){if(this._fontDataMap.size===0)return m7(t);const e=s.split(",");for(let n of e){n=n.replace(/'/g,"");const i=this._fontDataMap.get(n);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 m7(t)}static getTextSizeByDom(s,t){if(t in this._getTextHeightCache)return this._getTextHeightCache[t];let e=document.getElementById("universheetTextSizeTest");const n="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+=`${n};${t}`,e.textContent=s;const i=e.getBoundingClientRect(),o={width:i.width,height:i.height};return this._getTextHeightCache[t]=o,o}static getTextSize(s,t){const{fontString:e,fontSize:n,fontFamily:i}=t;let o=this._getBoundingBoxByFont(i,n);if(!o){const a=this.getMeasureText(s,e);o=this._calculateBoundingBoxByMeasureText(a,n)}return o}static getMeasureText(s,t){if(!this._context){const f=document.createElement("canvas");this._context=f.getContext("2d")}const e=this._context,n=this.getFontMeasureCache(t,s);if(n!=null)return n;e.font=t;const i=e.measureText(s),{width:o,fontBoundingBoxAscent:a,fontBoundingBoxDescent:l,actualBoundingBoxAscent:u,actualBoundingBoxDescent:c}=i,D={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(K7,t).height;e.textBaseline==="top"?(D.fontBoundingBoxAscent=D.actualBoundingBoxAscent=f,D.fontBoundingBoxDescent=D.actualBoundingBoxDescent=0):e.textBaseline==="middle"?(D.fontBoundingBoxDescent=D.actualBoundingBoxDescent=f/2,D.fontBoundingBoxAscent=D.actualBoundingBoxAscent=f/2):(D.fontBoundingBoxDescent=D.actualBoundingBoxDescent=0,D.fontBoundingBoxAscent=D.actualBoundingBoxAscent=f)}return this.setFontMeasureCache(t,s,D),D}static _clearMeasureCache(s,t){let e=0;for(const n of t){const[i]=n;if(e>s)break;t.delete(i),e++}return!0}static _getBoundingBoxByFont(s,t=28,e=""){const n=this._fontDataMap.get(s);if(!n)return;const{notDefWidth:i,ascender:o,descender:a,typoAscender:l,typoDescender:u,strikeoutPosition:c,subscriptSizeRatio:D,subscriptOffset:f,superscriptSizeRatio:p,superscriptOffset:C,hdmxData:m,glyphHorizonMap:F}=n,b=m==null?void 0:m.indexOf(Math.floor(t)),S=F.get(e.charCodeAt(0));let T=i;if(S){const{width:y,pixelsPerEm:v=[]}=S;b?T=v[b]:T=y}return{width:T*t,ba:o*t,bd:a*t,aba:l*t,abd:u*t,sp:c*t,sbr:D,sbo:f*t,spr:p,spo:C*t}}static _calculateBoundingBoxByMeasureText(s,t){const{width:e,fontBoundingBoxAscent:n,fontBoundingBoxDescent:i,actualBoundingBoxAscent:o,actualBoundingBoxDescent:a}=s;return{width:e,ba:n,bd:i,aba:o,abd:a,sp:(n+i)/2,sbr:.6,spr:.6,sbo:(n+i)*.141,spo:(n+i)*.4}}}h(P1,"_getTextHeightCache",{}),h(P1,"_context"),h(P1,"_fontDataMap",new Map),h(P1,"_globalFontMeasureCache",new Map);const e4=180,mh=Math.PI/e4,Fh=e4/Math.PI,F7="rgb(",Ch="rgba(",l1=(r,s)=>r?s!=null?`${Ch+r.join(",")},${s})`:`${F7+r.join(",")})`:`${F7}0,0,0)`,Eh=100,A1=(r,s)=>{if(_.Tools.isNumber(r))return r;if(s&&r&&_.Tools.isString(r)&&r.substr(r.length-1,1)==="%"){const t=Number.parseFloat(r)/Eh;return s*t}return 0},bh=16,F2=(r,s)=>(s||(s=window),s.requestPostAnimationFrame?s.requestPostAnimationFrame(r):s.requestAnimationFrame?s.requestAnimationFrame(r):s.msRequestAnimationFrame?s.msRequestAnimationFrame(r):s.webkitRequestAnimationFrame?s.webkitRequestAnimationFrame(r):s.mozRequestAnimationFrame?s.mozRequestAnimationFrame(r):s.oRequestAnimationFrame?s.oRequestAnimationFrame(r):setTimeout(r,bh)),s4=(r,s)=>(s||(s=window),s.requestPostAnimationFrame?s.cancelPostAnimationFrame(r):s.requestAnimationFrame?s.cancelAnimationFrame(r):s.msRequestAnimationFrame?s.msCancelAnimationFrame(r):s.webkitRequestAnimationFrame?s.webkitCancelAnimationFrame(r):s.mozRequestAnimationFrame?s.mozCancelAnimationFrame(r):s.oRequestAnimationFrame?s.oCancelAnimationFrame(r):clearTimeout(r)),L6=()=>{const r=document.createElement("canvas");try{r.style=r.style||{}}catch(s){console.error(s)}return r},Sh=()=>document.createElement("img"),n4=r=>r*Fh,y1=r=>r*mh,F6=()=>{let r="pointer";return typeof window<"u"&&!window.PointerEvent&&typeof navigator<"u"&&(r="mouse"),_.Tools.isTablet()&&!_.Tools.isIPhone()&&!(document&&"ontouchend"in document)&&(r="mouse"),r},i4=()=>_.Tools.getBrowserType()==="safari",Th=4,r4=(r="obj",s=Th)=>{const t=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,"").split("");let e="";for(let i=0;i<s;i++)e+=t[Math.round(Math.random()*(t.length-1))];const n=new Date().getTime();return`${r}_${e}_${n}`};function $1(r){return Object.prototype.toString.apply(r)}function $6(r){return $1(r)==="[object Function]"}function yh(r){return $1(r)==="[object Date]"}function vh(r){return $1(r)==="[object RegExp]"}function Bh(r){return $1(r)==="[object Array]"}function C6(r){return $1(r)==="[object String]"}function Oh(r){return $1(r)==="[object Number]"}function wh(r){return $1(r)==="[object Object]"}function Y2(r,s){return s=10**s,Math.round(r*s)/s}function z(r,s){return Math.round(r*s)/s}const o4=11,a4="Arial";function C2(r,s){const t=a4,e=o4;if(!r){const D=`${e}pt ${t}`;return{fontCache:D,fontString:D,fontSize:e,fontFamily:t}}let n=_.FontStyleType.ITALIC;(r.it===0||r.it===void 0)&&(n=_.FontStyleType.NORMAL);let i=_.FontStyleType.BOLD;(r.bl===0||r.bl===void 0)&&(i=_.FontStyleType.NORMAL);let o=e;r.fs&&(o=Math.ceil(r.fs));let a=t;if(r.ff){let D=r.ff;D=D.replace(/"/g,"").replace(/'/g,""),D.indexOf(" ")>-1&&(D=`"${D}"`),D==null&&(D=t),a=D}const{va:l}=r;if(l===_.BaselineOffset.SUBSCRIPT||l===_.BaselineOffset.SUPERSCRIPT){const D=P1.getBaselineOffsetInfo(a,o),{sbr:f,spr:p}=D;o*=l===_.BaselineOffset.SUBSCRIPT?f:p}const u=`${n} ${i} ${o}pt ${a}`,c=`${u}, ${K2} `;return{fontCache:u,fontString:c,fontSize:o,fontFamily:a}}const Ah=gh().toRegExp();function E2(r){return Ah.test(r)}const Rh=fh().toRegExp();function O2(r){return Rh.test(r)}const Ih=ph().toRegExp();function E6(r){return Ih.test(r)}function xh(r){return!!/[\u0000-\u024F]/gi.exec(r)}function Ph(r){return!!/[\u0000-\u007F]/gi.exec(r)}function Mh(r){return!!/[\u0080-\u00FF]/gi.exec(r)}function Lh(r){return!!/[\u0100-\u017F]/gi.exec(r)}function $h(r){return!!/[\u0180-\u024F]/gi.exec(r)}const u4=/^(?:[#*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,Nh=/^(?:[#*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 N6(r){return Nh.test(r)}function k6(r){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(r)}function H6(r){return/[\u0180-\u024F]/gi.test(r)}function l4(r){return/\s+/g.test(r)}function Z2(r){return["”","’",",","。",".","、",":",";","?","!","》",")","』","」","】","〗","〕","〉","]","}"].indexOf(r)>-1}function q2(r){return["“","‘","《","(","『","「","【","〖","〔","〈","[","{"].indexOf(r)>-1}function X6(r){return["・","·"].indexOf(r)>-1}const C7=1e3;let M2;function w2(){if(M2)return M2;let r=56;for(;r<C7*2;r++)if(matchMedia(`(max-resolution: ${r}dpi)`).matches===!0)return r;return M2=r,setTimeout(()=>{M2=null},C7),r}const c4=72,kh=25.4;function Hh(r){return r/(c4/w2())}function Xh(r){return r*(c4/w2())}function Yh(r){return r*(w2()/kh)}function zh(r){return r*w2()}function Y6(r){const{scaleX:s=1,scaleY:t=1}=r;return Math.max(s,t)}function Y1(r,s,t,e){const n=r-1,i=s-1,o=t[n]||0;let a=t[r];a==null&&(a=t[t.length-1]);const l=e[i]||0;let u=e[s];return u==null&&(u=e[e.length-1]),{startY:o,endY:a,startX:l,endX:u}}function s2(r,s,t,e,n){let{startY:i,endY:o,startX:a,endX:l}=Y1(r,s,t,e);const{isMerged:u,isMergedMainCell:c,startRow:D,startColumn:f,endRow:p,endColumn:C}=b2(r,s,n);let m={startRow:D,startColumn:f,endRow:p,endColumn:C,startY:0,endY:0,startX:0,endX:0};const F=t.length-1,b=e.length-1;if(u&&D!==-1&&f!==-1){const S=t[D-1]||0,T=t[p]||t[F],y=e[f-1]||0,v=e[C]||e[b];m={...m,startY:S,endY:T,startX:y,endX:v}}else if(!u&&p!==-1&&C!==-1){const S=t[p]||t[F],T=e[C]||e[b];m={...m,startY:i,endY:S,startX:a,endX:T}}return{isMerged:u,isMergedMainCell:c,actualRow:r,actualColumn:s,startY:i,endY:o,startX:a,endX:l,mergeInfo:m}}function b2(r,s,t){let e=!1,n=!1,i=r,o=s,a=r,l=s;if(t==null)return{actualRow:r,actualColumn:s,isMergedMainCell:n,isMerged:e,endRow:i,endColumn:o,startRow:a,startColumn:l};for(let u=0;u<t.length;u++){const{startRow:c,endRow:D,startColumn:f,endColumn:p}=t[u];if(r===c&&s===f){i=D,o=p,a=c,l=f,n=!0;break}if(r>=c&&r<=D&&s>=f&&s<=p){i=D,o=p,a=c,l=f,e=!0;break}}return{actualRow:r,actualColumn:s,isMergedMainCell:n,isMerged:e,endRow:i,endColumn:o,startRow:a,startColumn:l}}function h4(r,s,t,e){let n=!1;for(let i=s;i<=t;i++){const{isMerged:o,isMergedMainCell:a}=b2(r,i,e);if(!o&&!a){n=!0;break}}return n}function b6(r,s,t){const{startY:e,endY:n,startX:i,endX:o}=r;return r.startY=e+t,r.endY=n+t,r.startX=i+s,r.endX=o+s,{...r}}function D4(r,s){return!(r.left>s.right||r.top>s.bottom||s.left>r.right||s.top>r.bottom)}function Wh(r){const s=document.createElement("style");document.head.appendChild(s);const t=s.sheet;for(const e of r)t==null||t.insertRule(e,t.cssRules.length)}function jh(r){for(let s=0,t=document.head.childNodes.length;s<t;s++){const e=document.head.childNodes[s];if(e.nodeName==="STYLE"&&e.textContent&&e.textContent.indexOf(r)>-1)return!0}return!1}function X1(r){return Number(r.replace(/px/gi,""))}function _4(r){const s=getComputedStyle(r),{borderTopWidth:t,borderLeftWidth:e,borderRightWidth:n,borderBottomWidth:i,width:o,height:a}=s;return{top:X1(t),left:X1(e),right:X1(n),bottom:X1(i),width:X1(o),height:X1(a)}}const d4=.75;function Gh(r){return r/d4}function Uh(r){return r*d4}class x{constructor(s=0,t=0){this.x=s,this.y=t}static Zero(){return new x(0,0)}static One(){return new x(1,1)}static FromArray(s,t=0){return new x(s[t],s[t+1])}static FromArrayToRef(s,t,e){e.x=s[t],e.y=s[t+1]}static CatmullRom(s,t,e,n,i){const o=i*i,a=i*o,l=.5*(2*t.x+(-s.x+e.x)*i+(2*s.x-5*t.x+4*e.x-n.x)*o+(-s.x+3*t.x-3*e.x+n.x)*a),u=.5*(2*t.y+(-s.y+e.y)*i+(2*s.y-5*t.y+4*e.y-n.y)*o+(-s.y+3*t.y-3*e.y+n.y)*a);return new x(l,u)}static Clamp(s,t,e){let n=s.x;n=n>e.x?e.x:n,n=n<t.x?t.x:n;let i=s.y;return i=i>e.y?e.y:i,i=i<t.y?t.y:i,new x(n,i)}static Hermite(s,t,e,n,i){const o=i*i,a=i*o,l=2*a-3*o+1,u=-2*a+3*o,c=a-2*o+i,D=a-o,f=s.x*l+e.x*u+t.x*c+n.x*D,p=s.y*l+e.y*u+t.y*c+n.y*D;return new x(f,p)}static Hermite1stDerivative(s,t,e,n,i){const o=x.Zero();return this.Hermite1stDerivativeToRef(s,t,e,n,i,o),o}static Hermite1stDerivativeToRef(s,t,e,n,i,o){const a=i*i;o.x=(a-i)*6*s.x+(3*a-4*i+1)*t.x+(-a+i)*6*e.x+(3*a-2*i)*n.x,o.y=(a-i)*6*s.y+(3*a-4*i+1)*t.y+(-a+i)*6*e.y+(3*a-2*i)*n.y}static Lerp(s,t,e){const n=s.x+(t.x-s.x)*e,i=s.y+(t.y-s.y)*e;return new x(n,i)}static Dot(s,t){return s.x*t.x+s.y*t.y}static Normalize(s){const t=x.Zero();return this.NormalizeToRef(s,t),t}static NormalizeToRef(s,t){const e=s.length();e!==0&&(t.x=s.x/e,t.y=s.y/e)}static Minimize(s,t){const e=s.x<t.x?s.x:t.x,n=s.y<t.y?s.y:t.y;return new x(e,n)}static Maximize(s,t){const e=s.x>t.x?s.x:t.x,n=s.y>t.y?s.y:t.y;return new x(e,n)}static PointInTriangle(s,t,e,n){const i=.5*(-e.y*n.x+t.y*(-e.x+n.x)+t.x*(e.y-n.y)+e.x*n.y),o=i<0?-1:1,a=(t.y*n.x-t.x*n.y+(n.y-t.y)*s.x+(t.x-n.x)*s.y)*o,l=(t.x*e.y-t.y*e.x+(t.y-e.y)*s.x+(e.x-t.x)*s.y)*o;return a>0&&l>0&&a+l<2*i*o}static Distance(s,t){return Math.sqrt(x.DistanceSquared(s,t))}static DistanceSquared(s,t){const e=s.x-t.x,n=s.y-t.y;return e*e+n*n}static Center(s,t){return x.CenterToRef(s,t,x.Zero())}static CenterToRef(s,t,e){return e.copyFromFloats((s.x+t.x)/2,(s.y+t.y)/2)}static DistanceOfPointFromSegment(s,t,e){const n=x.DistanceSquared(t,e);if(n===0)return x.Distance(s,t);const i=e.subtract(t),o=Math.max(0,Math.min(1,x.Dot(s.subtract(t),i)/n)),a=t.add(i.multiplyByFloats(o,o));return x.Distance(s,a)}static create(s,t){return new x(s,t)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let s=this.x|0;return s=s*397^(this.y|0),s}toArray(s,t=0){return s[t]=this.x,s[t+1]=this.y,this}fromArray(s,t=0){return x.FromArrayToRef(s,t,this),this}asArray(){const s=new Array;return this.toArray(s,0),s}copyFrom(s){return this.x=s.x,this.y=s.y,this}copyFromFloats(s,t){return this.x=s,this.y=t,this}set(s,t){return this.copyFromFloats(s,t)}add(s){return new x(this.x+s.x,this.y+s.y)}addToRef(s,t){return t.x=this.x+s.x,t.y=this.y+s.y,this}addByPoint(s,t){return new x(this.x+s,this.y+t)}addInPlace(s){return this.x+=s.x,this.y+=s.y,this}subtract(s){return new x(this.x-s.x,this.y-s.y)}subtractByPoint(s,t){return new x(this.x-s,this.y-t)}subtractToRef(s,t){return t.x=this.x-s.x,t.y=this.y-s.y,this}subtractInPlace(s){return this.x-=s.x,this.y-=s.y,this}multiplyInPlace(s){return this.x*=s.x,this.y*=s.y,this}multiply(s){return new x(this.x*s.x,this.y*s.y)}multiplyToRef(s,t){return t.x=this.x*s.x,t.y=this.y*s.y,this}multiplyByFloats(s,t){return new x(this.x*s,this.y*t)}divide(s){return new x(this.x/s.x,this.y/s.y)}divideToRef(s,t){return t.x=this.x/s.x,t.y=this.y/s.y,this}divideInPlace(s){return this.divideToRef(s,this)}negate(){return new x(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(s){return s.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(s){return this.x*=s,this.y*=s,this}scale(s){const t=new x(0,0);return this.scaleToRef(s,t),t}scaleToRef(s,t){return t.x=this.x*s,t.y=this.y*s,this}scaleAndAddToRef(s,t){return t.x+=this.x*s,t.y+=this.y*s,this}equals(s){return s&&this.x===s.x&&this.y===s.y}floor(){return new x(Math.floor(this.x),Math.floor(this.y))}fract(){return new x(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(s){const t=Math.cos(s),e=Math.sin(s),n=t*this.x-e*this.y,i=e*this.x+t*this.y;return this.x=n,this.y=i,this}rotateToRef(s,t){const e=Math.cos(s),n=Math.sin(s);return t.x=e*this.x-n*this.y,t.y=n*this.x+e*this.y,this}rotateByPoint(s,t=x.create(0,0)){const e=Math.cos(s),n=Math.sin(s),i=t.x+(this.x-t.x)*e-(this.y-t.y)*n,o=t.y+(this.x-t.x)*n+(this.y-t.y)*e;return this.x=i,this.y=o,this}transformCoordinateOnRotate(s){const t=Math.sqrt(this.x**2+this.y**2),e=Math.atan2(this.y,this.x),n=-s+e;return this.x=t*Math.cos(n),this.y=t*Math.sin(n),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 x.NormalizeToRef(this,this),this}clone(){return new x(this.x,this.y)}}const $2=[1,0,0,1,0,0];class i1{constructor(s=$2){h(this,"dirty",!1);h(this,"_m");this._m=s&&s.slice()||$2}static create(s=$2){return new this(s)}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 i1(this._m)}copyInto(s){s._m[0]=this._m[0],s._m[1]=this._m[1],s._m[2]=this._m[2],s._m[3]=this._m[3],s._m[4]=this._m[4],s._m[5]=this._m[5]}applyPoint(s,t=!1){const e=this._m,n=e[0]*s.x+e[2]*s.y,i=e[1]*s.x+e[3]*s.y;return t?new x(n,i):new x(n+e[4],i+e[5])}translate(s,t){return this._m[4]+=this._m[0]*s+this._m[2]*t,this._m[5]+=this._m[1]*s+this._m[3]*t,this}scale(s,t){return this._m[0]*=s,this._m[1]*=s,this._m[2]*=t,this._m[3]*=t,this}rotate(s){const t=y1(s),e=Math.cos(t),n=Math.sin(t),i=this._m[0]*e+this._m[2]*n,o=this._m[1]*e+this._m[3]*n,a=this._m[0]*-n+this._m[2]*e,l=this._m[1]*-n+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(s,t){const e=this._m[0]+this._m[2]*t,n=this._m[1]+this._m[3]*t,i=this._m[2]+this._m[0]*s,o=this._m[3]+this._m[1]*s;return this._m[0]=e,this._m[1]=n,this._m[2]=i,this._m[3]=o,this}multiply(s){const t=this._m[0]*s._m[0]+this._m[2]*s._m[1],e=this._m[1]*s._m[0]+this._m[3]*s._m[1],n=this._m[0]*s._m[2]+this._m[2]*s._m[3],i=this._m[1]*s._m[2]+this._m[3]*s._m[3],o=this._m[0]*s._m[4]+this._m[2]*s._m[5]+this._m[4],a=this._m[1]*s._m[4]+this._m[3]*s._m[5]+this._m[5];return this._m[0]=t,this._m[1]=e,this._m[2]=n,this._m[3]=i,this._m[4]=o,this._m[5]=a,this}invert(){const s=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),t=this._m[3]*s,e=-this._m[1]*s,n=-this._m[2]*s,i=this._m[0]*s,o=s*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),a=s*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=t,this._m[1]=e,this._m[2]=n,this._m[3]=i,this._m[4]=o,this._m[5]=a,this}getMatrix(){return this._m}getMatrixByAccurate(s=3){return this._m.map(t=>Y2(t,s))}setAbsolutePosition(s){const t=this._m[0],e=this._m[1],n=this._m[2],i=this._m[3],o=this._m[4],a=this._m[5],l=(t*(s.y-a)-e*(s.x-o))/(t*i-e*n),u=(s.x-o-n*l)/t;return this.translate(u,l)}decompose(){const s=this._m[0],t=this._m[1],e=this._m[2],n=this._m[3],i=this._m[4],o=this._m[5],a=s*n-t*e,l={x:i,y:o,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(s!==0||t!==0){const u=Math.sqrt(s*s+t*t);l.angle=t>0?Math.acos(s/u):-Math.acos(s/u),l.scaleX=u,l.scaleY=a/u,l.skewX=(s*e+t*n)/a,l.skewY=0}else if(e!==0||n!==0){const u=Math.sqrt(e*e+n*n);l.angle=Math.PI/2-(n>0?Math.acos(-e/u):-Math.acos(e/u)),l.scaleX=a/u,l.scaleY=u,l.skewX=0,l.skewY=(s*e+t*n)/a}return l.angle=n4(l.angle),l}makeBoundingBoxFromPoints(s){if(this)for(let c=0;c<s.length;c++)s[c]=this.applyPoint(s[c]);const t=[s[0].x,s[1].x,s[2].x,s[3].x],e=Math.min(...t),i=Math.max(...t)-e,o=[s[0].y,s[1].y,s[2].y,s[3].y],a=Math.min(...o),u=Math.max(...o)-a;return{left:e,top:a,width:i,height:u,points:s}}composeMatrix(s){const t=new i1([1,0,0,1,s.left||0,s.top||0]);return s.angle&&t.rotate(s.angle),(s.scaleX!==1||s.scaleY!==1||s.skewX||s.skewY||s.flipX||s.flipY)&&t.multiply(this._calcDimensionsMatrix(s)),this._m=t.getMatrix(),this}clone(){return new i1([...this._m])}_calcDimensionsMatrix(s){var i,o;const t=(i=s.scaleX)!=null?i:1,e=(o=s.scaleY)!=null?o:1,n=new i1([s.flipX?-t:t,0,0,s.flipY?-e:e,0,0]);return s.skewX&&n.multiply(new i1([1,0,Math.tan(y1(s.skewX)),1,0,0])),s.skewY&&n.multiply(new i1([1,Math.tan(y1(s.skewY)),0,1,0,0])),n}}const z2=["top","left","width","height","angle","scaleX","scaleY","skewX","skewY","flipX","flipY","strokeWidth"];class R1{constructor(s){h(this,"groupKey");h(this,"isInGroup",!1);h(this,"onTransformChangeObservable",new _.Observable);h(this,"onPointerDownObserver",new _.Observable);h(this,"onPointerMoveObserver",new _.Observable);h(this,"onPointerUpObserver",new _.Observable);h(this,"onDblclickObserver",new _.Observable);h(this,"onTripleClickObserver",new _.Observable);h(this,"onMouseWheelObserver",new _.Observable);h(this,"onPointerOutObserver",new _.Observable);h(this,"onPointerLeaveObserver",new _.Observable);h(this,"onPointerOverObserver",new _.Observable);h(this,"onPointerEnterObserver",new _.Observable);h(this,"onIsAddedToParentObserver",new _.Observable);h(this,"onDisposeObserver",new _.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 i1);h(this,"_cursor",s1.DEFAULT);h(this,"_isTransformer",!1);h(this,"_forceRender",!1);h(this,"_layer");s?this._oKey=s:this._oKey=r4()}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 t;const s=((t=this.getParent())==null?void 0:t.ancestorScaleX)||1;return this.scaleX*s}get ancestorScaleY(){var t;const s=((t=this.getParent())==null?void 0:t.ancestorScaleY)||1;return this.scaleY*s}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(s){this._transform=s}set zIndex(s){this._zIndex=s}set parent(s){this._parent=s}set evented(s){this._evented=s}set debounceParentDirty(s){this._debounceParentDirty=s}set isTransformer(s){this._isTransformer=s}set cursor(s){this.setCursor(s)}set layer(s){this._layer=s}set top(s){var t;this._topOrigin=s,this._top=A1(s,(t=this._parent)==null?void 0:t.height)}set left(s){var t;this._leftOrigin=s,this._left=A1(s,(t=this._parent)==null?void 0:t.width)}set width(s){var t;this._widthOrigin=s,this._width=A1(s,(t=this._parent)==null?void 0:t.width)}set height(s){var t;this._heightOrigin=s,this._height=A1(s,(t=this._parent)==null?void 0:t.height)}set strokeWidth(s){this._strokeWidth=s}set angle(s){this._angle=s}set scaleX(s){this._scaleX=s}set scaleY(s){this._scaleY=s}set skewX(s){this._skewX=s}set flipY(s){this._flipY=s}set flipX(s){this._flipX=s}set skewY(s){this._skewY=s}makeDirty(s=!0){if(this._dirty=s,s){if(this._layer==null){this._dirty=!1;return}typeof this._layer.debounceParentTimeout=="function"&&this._layer.debounceParentTimeout(),this._layer.debounceParentTimeout=_.requestImmediateMacroTask(()=>{var t;(t=this._layer)==null||t.makeDirty(s)})}return this}makeDirtyNoDebounce(s=!0){var t;return this._dirty=s,s&&((t=this._layer)==null||t.makeDirty(s)),this}isDirty(){return this._dirty}translate(s,t){const e=this.top;t!==void 0&&(this.top=t);const n=this.left;return s!==void 0&&(this.left=s),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.translate,value:{top:this._top,left:this._left},preValue:{top:e,left:n}}),this}resize(s,t){const e=this.width;s!==void 0&&(this.width=s);const n=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:n}}),this}scale(s,t){const e=this.scaleX;s!==void 0&&(this.scaleX=s);const n=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:n}}),this}skew(s,t){const e=s;s!==void 0&&(this.skewX=s);const n=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:n}}),this}flip(s,t){const e=s;s!==void 0&&(this.flipX=s);const n=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:n}}),this}transformByState(s){const t=Object.keys(s),e={};if(t.length!==0)return t.forEach(n=>{s[n]!==void 0&&(e[n]=this[n],this[n]=s[n])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.all,value:s,preValue:e}),this}isRender(s){return this._forceRender?!1:s&&!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(s,t){}isHit(s){const t=this._getInverseCoord(s);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(s,t){return this[`on${s}Observer`].add(t.bind(this))}off(s,t){this[`on${s}Observer`].remove(t)}clear(s){this[`on${s}Observer`].clear()}triggerPointerMove(s){var t,e;return(t=this.onPointerMoveObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerMove(s),!1)}triggerPointerDown(s){var t,e;return(t=this.onPointerDownObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerDown(s),!1)}triggerPointerUp(s){var t,e;return(t=this.onPointerUpObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerUp(s),!1)}triggerDblclick(s){var t,e;return(t=this.onDblclickObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerDblclick(s),!1)}triggerTripleClick(s){var t,e;return(t=this.onTripleClickObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerTripleClick(s),!1)}triggerMouseWheel(s){var t,e;return(t=this.onMouseWheelObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerMouseWheel(s),!1)}triggerPointerOut(s){var t,e;return(t=this.onPointerOutObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerOut(s),!1)}triggerPointerLeave(s){var t,e;return(t=this.onPointerLeaveObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerLeave(s),!1)}triggerPointerOver(s){var t;return this.onPointerOverObserver.notifyObservers(s)?!0:((t=this._parent)==null||t.triggerPointerOver(s),!1)}triggerPointerEnter(s){var t,e;return(t=this.onPointerEnterObserver.notifyObservers(s))!=null&&t.stopPropagation?!0:((e=this._parent)==null||e.triggerPointerEnter(s),!1)}dispose(){var s;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(),(s=this.parent)==null||s.removeObject(this),this.onDisposeObserver.notifyObservers(this),this._makeDirtyMix(),this.onDisposeObserver.clear()}toJson(){const s={};return z2.forEach(t=>{this[t]&&(s[t]=this[t])}),s}getScene(){let s=this.parent;if(s!=null){if(s.classType===k.SCENE)return s;for(;s;){if(s.classType===k.SCENE)return s;s=s.getParent()}}}resetCursor(){var s;(s=this.getScene())==null||s.resetCursor()}setCursor(s){var t;this._cursor=s,(t=this.getScene())==null||t.setCursor(s)}getEngine(){let s=this.getParent();for(;s!=null;){if(s.classType===k.ENGINE)return s;s=s.getParent()}return null}getObjects(){return[]}_getInverseCoord(s){return this._transform.clone().invert().applyPoint(s)}_setTransForm(){const s=i1.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=s,this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}}var f4=(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))(f4||{}),i2=(r=>(r[r.SECTION=0]="SECTION",r[r.PAGE=1]="PAGE",r[r.COLUMN=2]="COLUMN",r))(i2||{}),A2=(r=>(r[r.PARAGRAPH=0]="PARAGRAPH",r[r.BLOCK=1]="BLOCK",r))(A2||{}),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 Vh(r){var e;const s=r==null?void 0:r.parent;return s==null?!1:((e=s.glyphGroup[0])==null?void 0:e.glyphType)===m1.LIST}function Kh(r,s){const t=g4(r,s);if(t==null)return!1;const{paragraphStyle:e}=t;return e==null?!1:_.checkParagraphHasIndentByStyle(e)}function Jh(r){const s=r==null?void 0:r.parent,t=s==null?void 0:s.parent,e=s==null?void 0:s.glyphGroup,n=t==null?void 0:t.divides;if(e&&r&&n&&s){const i=e.indexOf(r);if(n.indexOf(s)===n.length-1&&i===e.length-1)return!0}return!1}function Zh(r){const s=r==null?void 0:r.parent,t=s==null?void 0:s.parent,e=s==null?void 0:s.glyphGroup,n=t==null?void 0:t.divides;if(e&&r&&n&&s){const i=e.indexOf(r),o=n.indexOf(s);if(o===0&&i===0||o===0&&i===1&&e[0].glyphType===m1.LIST)return!0}return!1}function g4(r,s){var n;const t=(n=r==null?void 0:r.parent)==null?void 0:n.parent;if(t==null||s==null)return;const e=s.paragraphs;if(e!=null){for(const i of e)if(i.startIndex===t.paragraphIndex)return i}}function qh(r){return r==null?!1:[_.DataStreamTreeTokenType.PARAGRAPH,_.DataStreamTreeTokenType.TAB,_.DataStreamTreeTokenType.SECTION_BREAK].indexOf(r.streamType)!==-1||r.content===_.DataStreamTreeTokenType.SPACE}function Qh(r,s){return r==null||s==null||r.parent==null||s.parent==null?!1:r.parent.parent===s.parent.parent}function z6(){let r=1;const t=L6().getContext("2d");return r=(()=>{const e=window.devicePixelRatio||1,n=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return e/n})(),r<1?1:r}function W6(r,s,t,e){let n=0,i=0,o=0,a=0;const{startX:l,startY:u,endX:c,endY:D}=e;s===Y.TOP?(n=l-t,i=u,o=c+t,a=u):s===Y.BOTTOM?(n=l-t,i=D,o=c-t,a=D):s===Y.LEFT?(n=l,i=u-t,o=l,a=D+t):s===Y.RIGHT&&(n=c,i=u-t,o=c,a=D+t),r.beginPath(),r.moveToByPrecision(n,i),r.lineToByPrecision(o,a),r.closePathByEnv(),r.stroke()}function p4(r,s,t){let e=0,n=0,i=0,o=0;const{startX:a,startY:l,endX:u,endY:c}=t;s===Y.TL_BR?(e=a,n=l,i=u,o=c):s===Y.TL_BC?(e=a,n=l,i=(a+u)/2,o=c):s===Y.TL_MR?(e=a,n=l,i=u,o=(l+c)/2):s===Y.BL_TR?(e=a,n=c,i=u,o=l):s===Y.ML_TR?(e=a,n=(l+c)/2,i=u,o=l):s===Y.BC_TR&&(e=(a+u)/2,n=c,i=u,o=l),r.beginPath(),r.moveToByPrecision(e,n),r.lineToByPrecision(i,o),r.closePathByEnv(),r.stroke()}function tD(r,s,t){let e=0,n=0,i=0,o=0;const{startX:a,startY:l,endX:u,endY:c}=t;s===Y.TOP?(e=a,n=l,i=u,o=l):s===Y.BOTTOM?(e=a,n=c,i=u,o=c):s===Y.LEFT?(e=a,n=l,i=a,o=c):s===Y.RIGHT&&(e=u,n=l,i=u,o=c),r.beginPath(),r.clearRectForTexture(e,n,i-e,o-n)}function j6(r,s){s===_.BorderStyleTypes.HAIR?r.setLineDash([1,2]):s===_.BorderStyleTypes.DASH_DOT_DOT||s===_.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?r.setLineDash([2,2,5,2,2]):s===_.BorderStyleTypes.DASH_DOT||s===_.BorderStyleTypes.MEDIUM_DASH_DOT||s===_.BorderStyleTypes.SLANT_DASH_DOT?r.setLineDash([2,5,2]):s===_.BorderStyleTypes.DOTTED?r.setLineDash([2]):s===_.BorderStyleTypes.DASHED||s===_.BorderStyleTypes.MEDIUM_DASHED?r.setLineDash([3]):r.setLineDash([0])}function m4(){const r=F4(1);return r-Math.floor(r)}function F4(r){return Math.ceil(r/z6()*100)/100}function G6(r){let s=1;return r===_.BorderStyleTypes.MEDIUM||r===_.BorderStyleTypes.MEDIUM_DASH_DOT||r===_.BorderStyleTypes.MEDIUM_DASHED||r===_.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?s=2:r===_.BorderStyleTypes.THICK&&(s=3),s}function S2(r,s,t,e,n=x.create(0,0)){const i=r.add(s).rotateByPoint(e),o=i.subtract(s),a=e-t;return o.rotateByPoint(a,i).add(n).transformCoordinateOnRotate(a)}function C4(r){return r>0?m2.DOWN:m2.UP}function U6(r,s,t){var C;const e=[];let n=0,i=0,o=0,a=0,l=0;const u=C4(t),c=r.length;t=Math.abs(t);const D=Math.tan(t),f=Math.sin(t),p=Math.cos(t);if(u===m2.UP){let m=0;for(let F=0;F<c;F++){const b=r[F],{lineHeight:S=0}=b;m+=F===0?0:S;const T=s*f+S*p;e.push(m/D),T>i&&(i=T),F===0&&(o+=S*f,l+=S*p)}o+=m/f+s*p,l-=i}else{let m=0,F=-1;const b=[];for(let y=c-1;y>=0;y--){const v=r[y],{lineHeight:B=0}=v,w=B/D,O=(s+w)*f;b.unshift(B/D),O>i&&(i=O,m=w,F=y),y===0?o+=B*f:y===c-1?o+=s*p+B/f:o+=B/f}let S=((C=r[F])==null?void 0:C.lineHeight)||0,T=0;for(let y=F+1;y<=c-1;y++){const v=r[y],{lineHeight:B=0}=v;S+=B,T+=b[y]||0,e[y]=-T}T=0;for(let y=F-1;y>=0;y--){const v=r[y],{lineHeight:B=0}=v;T+=b[y+1]||0,e[y]=T,n+=B}e[F]=0,c===1&&(o+=s*p),a=S/f-m*p}return{rotateTranslateXList:e,rotatedHeight:i,rotatedWidth:o,fixOffsetX:a,fixOffsetY:l,rotateTranslateY:n}}function eD(){const r=.5-m4();return{left:r,top:r}}var E4=(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))(E4||{});class N2{}h(N2,"DOM_DELTA_PIXEL",0),h(N2,"DOM_DELTA_LINE",1),h(N2,"DOM_DELTA_PAGE",2);var g1=(r=>(r[r.Generic=0]="Generic",r[r.Keyboard=1]="Keyboard",r[r.Mouse=2]="Mouse",r[r.Touch=3]="Touch",r))(g1||{}),P=(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))(P||{});const b4=[new x(0,0),new x(1,1)];class S4{constructor(s=b4){this._lines=s}intersection(s){if(this._lines.length<1||s.length<1)return;const t=[];for(let e=1;e<this._lines.length;e++){const n=this._lines[e-1],i=this._lines[e];for(let o=1;o<s.length;o++){const a=this._lines[e-1],l=this._lines[e],u=this._intersection({from:n,to:i},{from:a,to:l});u&&t.push(u)}}return t}_intersection(s,t){const e=s.from,n=s.to,i=t.from,o=t.to,a=(e.x-i.x)*(n.y-i.y)-(e.y-i.y)*(n.x-i.x),l=(e.x-o.x)*(n.y-o.y)-(e.y-o.y)*(n.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 D=u/(l-a),f=D*(n.x-e.x),p=D*(n.y-e.y);return new x(e.x+f,e.y+p)}}class T4{constructor(s=30){h(this,"_enabled",!0);h(this,"_rollingFrameTime");h(this,"_lastFrameTimeMs");this._rollingFrameTime=new y4(s)}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 s=this._rollingFrameTime.history(0);return s===0?0:1e3/s}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(s=this.Now()){if(this._enabled){if(this._lastFrameTimeMs!=null){const t=s-this._lastFrameTimeMs;this._rollingFrameTime.add(t)}this._lastFrameTimeMs=s}}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 y4{constructor(s){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(s),this.reset()}add(s){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=s-this.average,this.average+=t/this._sampleCount,this._m2+=t*(s-this.average),this.variance=this._m2/(this._sampleCount-1),this._samples[this._pos]=s,this._pos++,this._pos%=this._samples.length}history(s){if(s>=this._sampleCount||s>=this._samples.length)return 0;const t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-s)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.average=0,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(s){const t=this._samples.length;return(s%t+t)%t}}const T2={strokeWidth:1,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:"rgba(0, 0, 0, 0.2)"};var g2=(r=>(r.NONE="none",r.BACKWARD="backward",r.FORWARD="forward",r))(g2||{});function n2(r){const s=r.getScene(),t=r.getViewportByCoord(s),e=0,n=0;if(!t)return{scrollX:e,scrollY:n};const i=t.getActualScroll(t.scrollX,t.scrollY);return{scrollX:i.x,scrollY:i.y}}const h1=90;function _2(r){const{a:s=0,v:t=_.BooleanNumber.FALSE}=r||{a:0,v:_.BooleanNumber.FALSE};let e=0,n=s;return t===_.BooleanNumber.TRUE&&(e=h1,n=h1),{centerAngle:e,vertexAngle:n}}class V6{constructor(s){h(this,"canvas");h(this,"_context");this._context=s,this.canvas=s.canvas}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(s){this._context.globalAlpha=s}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(s){this._context.globalCompositeOperation=s}get fillStyle(){return this._context.fillStyle}set fillStyle(s){this._context.fillStyle=s}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(s){this._context.strokeStyle=s}get filter(){return this._context.filter}set filter(s){this._context.filter=s}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(s){this._context.imageSmoothingEnabled=s}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(s){this._context.imageSmoothingQuality=s}get lineCap(){return this._context.lineCap}set lineCap(s){this._context.lineCap=s}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(s){this._context.lineDashOffset=s}get lineJoin(){return this._context.lineJoin}set lineJoin(s){this._context.lineJoin=s}get lineWidth(){return this._context.lineWidth}set lineWidth(s){this._context.lineWidth=s}setLineWidthByPrecision(s){const{scaleX:t,scaleY:e}=this._getScale();this._context.lineWidth=s/Math.max(t,e)}get miterLimit(){return this._context.miterLimit}set miterLimit(s){this._context.miterLimit=s}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(s){this._context.shadowBlur=s}get shadowColor(){return this._context.shadowColor}set shadowColor(s){this._context.shadowColor=s}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(s){this._context.shadowOffsetX=s}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(s){this._context.shadowOffsetY=s}get direction(){return this._context.direction}set direction(s){this._context.direction=s}get font(){return this._context.font}set font(s){this._context.font=s}get fontKerning(){return this._context.fontKerning}set fontKerning(s){this._context.fontKerning=s}get fontStretch(){return this._context.fontStretch}set fontStretch(s){this._context.fontStretch=s}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(s){this._context.fontVariantCaps=s}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(s){this._context.letterSpacing=s}get textRendering(){return this._context.textRendering}set textRendering(s){this._context.textRendering=s}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(s){this._context.wordSpacing=s}get textAlign(){return this._context.textAlign}set textAlign(s){this._context.textAlign=s}get textBaseline(){return this._context.textBaseline}set textBaseline(s){this._context.textBaseline=s}_getScale(){const s=this.getTransform();return{scaleX:s.a,scaleY:s.d}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...s){return this._context.isPointInStroke(...s)}createConicGradient(s,t,e){return this._context.createConicGradient(s,t,e)}roundRect(s,t,e,n,i){this._context.roundRect(s,t,e,n,i)}roundRectByPrecision(s,t,e,n,i){const{scaleX:o,scaleY:a}=this._getScale();s=z(s,o),t=z(t,a),e=z(e,o),n=z(n,a),this.roundRect(s,t,e,n,i)}getTransform(){return this._context.getTransform()}resetTransform(){this._context.resetTransform()}drawFocusIfNeeded(...s){return this._context.drawFocusIfNeeded(...s)}reset(){this._context.reset()}arc(s,t,e,n,i,o){this._context.arc(s,t,e,n,i,o)}arcByPrecision(s,t,e,n,i,o){const{scaleX:a,scaleY:l}=this._getScale();s=z(s,a),t=z(t,l),this.arc(s,t,e,n,i,o)}arcTo(s,t,e,n,i){this._context.arcTo(s,t,e,n,i)}arcToByPrecision(s,t,e,n,i){const{scaleX:o,scaleY:a}=this._getScale();s=z(s,o),t=z(t,a),e=z(e,o),n=z(n,a),this.arcTo(s,t,e,n,i)}beginPath(){this._context.beginPath()}bezierCurveTo(s,t,e,n,i,o){this._context.bezierCurveTo(s,t,e,n,i,o)}bezierCurveToByPrecision(s,t,e,n,i,o){const{scaleX:a,scaleY:l}=this._getScale();i=z(i,a),o=z(o,l),s=z(s,a),t=z(t,l),e=z(e,a),n=z(n,l),this.bezierCurveTo(s,t,e,n,i,o)}clearRect(s,t,e,n){this._context.clearRect(s,t,e,n)}clearRectByPrecision(s,t,e,n){const{scaleX:i,scaleY:o}=this._getScale();s=z(s,i),t=z(t,o),e=z(e,i),n=z(n,o),this.clearRect(s,t,e,n)}clip(...s){this._context.clip(...s)}closePath(){this._context.closePath()}closePathByEnv(){const t=_.Tools.getSystemType()==="Mac",n=_.Tools.getBrowserType()==="Chrome";t&&n||this._context.closePath()}createImageData(...s){if(s.length===0)throw new Error("arguments is zero");return s.length===1?this._context.createImageData(s[0]):s.length===2?this._context.createImageData(s[0],s[1]):this._context.createImageData(s[0],s[1],s[1])}createLinearGradient(s,t,e,n){return this._context.createLinearGradient(s,t,e,n)}createPattern(s,t){return this._context.createPattern(s,t)}createRadialGradient(s,t,e,n,i,o){return this._context.createRadialGradient(s,t,e,n,i,o)}drawImage(...s){const t=s,e=this._context;t.length===3?e.drawImage(s[0],s[1],s[2]):t.length===5?e.drawImage(s[0],s[1],s[2],s[3],s[4]):t.length===9&&e.drawImage(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8])}ellipse(s,t,e,n,i,o,a,l){this._context.ellipse(s,t,e,n,i,o,a,l)}isPointInPath(...s){return this._context.isPointInPath(...s)}fill(...s){this._context.fill(...s)}fillRect(s,t,e,n){this._context.fillRect(s,t,e,n)}fillRectByPrecision(s,t,e,n){const{scaleX:i,scaleY:o}=this._getScale();s=z(s,i),t=z(t,o),e=z(e,i),n=z(n,o),this.fillRect(s,t,e,n)}strokeRect(s,t,e,n){this._context.strokeRect(s,t,e,n)}strokeRectPrecision(s,t,e,n){const{scaleX:i,scaleY:o}=this._getScale();s=z(s,i),t=z(t,o),e=z(e,i),n=z(n,o),this.strokeRect(s,t,e,n)}fillText(s,t,e,n){n?this._context.fillText(s,t,e,n):this._context.fillText(s,t,e)}fillTextPrecision(s,t,e,n){const{scaleX:i,scaleY:o}=this._getScale();t=z(t,i),e=z(e,o),n?(n=z(n,i),this._context.fillText(s,t,e,n)):this._context.fillText(s,t,e)}measureText(s){return this._context.measureText(s)}getImageData(s,t,e,n){return this._context.getImageData(s,t,e,n)}lineTo(s,t){this._context.lineTo(s,t)}lineToByPrecision(s,t){const{scaleX:e,scaleY:n}=this._getScale();s=z(s,e),t=z(t,n),this.lineTo(s,t)}moveTo(s,t){this._context.moveTo(s,t)}moveToByPrecision(s,t){const{scaleX:e,scaleY:n}=this._getScale();s=z(s,e),t=z(t,n),this.moveTo(s,t)}rect(s,t,e,n){this._context.rect(s,t,e,n)}rectByPrecision(s,t,e,n){const{scaleX:i,scaleY:o}=this._getScale();s=z(s,i),t=z(t,o),e=z(e,i),n=z(n,o),this.rect(s,t,e,n)}putImageData(s,t,e){this._context.putImageData(s,t,e)}quadraticCurveTo(s,t,e,n){this._context.quadraticCurveTo(s,t,e,n)}restore(){this._context.restore()}rotate(s){this._context.rotate(s)}save(){this._context.save()}scale(s,t){this._context.scale(s,t)}setLineDash(s){this._context.setLineDash?this._context.setLineDash(s):"mozDash"in this._context?this._context.mozDash=s:"webkitLineDash"in this._context&&(this._context.webkitLineDash=s)}getLineDash(){return this._context.getLineDash()}setTransform(...s){this._context.setTransform(...s)}stroke(s){s?this._context.stroke(s):this._context.stroke()}strokeText(s,t,e,n){this._context.strokeText(s,t,e,n)}strokeTextByPrecision(s,t,e,n){const{scaleX:i,scaleY:o}=this._getScale();t=z(t,i),e=z(e,o),n&&(n=z(n,i)),this.strokeText(s,t,e,n)}transform(s,t,e,n,i,o){this._context.transform(s,t,e,n,i,o)}translate(s,t){this._context.translate(s,t)}translateWithPrecision(s,t){const{scaleX:e,scaleY:n}=this._getScale();s=z(s,e),t=z(t,n),this._context.translate(s,t)}translateWithPrecisionRatio(s,t){const{scaleX:e,scaleY:n}=this._getScale();this._context.translate(s/e,t/n)}clearRectForTexture(s,t,e,n){this.clearRectByPrecision(s,t,e,n)}setGlobalCompositeOperation(s){this._context.globalCompositeOperation=s}}class sD{}class nD{}class v4 extends V6{}class B4 extends V6{__getScale(){const s=this.getTransform();return{scaleX:s.a,scaleY:s.d}}clearRect(s,t,e,n){const{scaleX:i,scaleY:o}=this.__getScale();s=z(s,i),t=z(t,o),e=z(e,i),n=z(n,o),this._context.save(),this._context.fillStyle=l1([255,255,255]),this._context.fillRect(s,t,e,n),this._context.restore()}clearRectForTexture(s,t,e,n){}setGlobalCompositeOperation(s){}}var K6=(r=>(r[r.Rendering=0]="Rendering",r[r.Printing=1]="Printing",r))(K6||{});class u2{constructor(s){h(this,"isCache",!1);h(this,"_pixelRatio",1);h(this,"_canvasEle");h(this,"_context");h(this,"_width",0);h(this,"_height",0);s=s||{},this._canvasEle=L6(),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");s.mode===1?this._context=new B4(t):this._context=new v4(t),this.setSize(s.width,s.height,s.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setSize(s,t,e){this._pixelRatio=e||z6(),s&&(this._canvasEle.width=s*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(s){this._width===0||this._height===0||(s<1&&(s=1),this.setSize(this._width,this._height,s))}dispose(){this.clear(),this._canvasEle.remove()}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(s,t){try{return this._canvasEle.toDataURL(s,t)}catch{try{return this._canvasEle.toDataURL()}catch(n){const{message:i}=n;return console.error(`Unable to get data URL. ${i} For more info read https://universheet.net/docs/Canvas.html.`),""}}}}class iD extends u2{constructor(s={width:0,height:0}){super(s),this.setSize(s.width,s.height)}}class rD extends u2{constructor(t={width:0,height:0}){super(t);h(this,"hitCanvas",!0);this.setSize(t.width,t.height)}}class J6 extends R1{constructor(){super(...arguments);h(this,"_extensions",new Map)}get extensions(){return this._extensions}register(...t){const e=new _.DisposableCollection;for(const n of t)n.parent=this,this._extensions.set(n.uKey,n),e.add(_.toDisposable(()=>{this._extensions.delete(n.uKey)}));return e}getExtensionsByOrder(){const t=Array.from(this._extensions.values());return t.sort(_.sortRules),t}getExtensionByKey(t){return this._extensions.get(t)}draw(t,e){}}class Z6{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(s,t,e,n){}clearCache(){}_getScale(s){return Y6(s)}}const U1=_.Registry.create(),q6=_.Registry.create(),Q6=_.Registry.create(),l2=_.Registry.create();class t7 extends J6{constructor(s,t){super(s),this._skeleton=t}getSkeleton(){return this._skeleton}updateSkeleton(s){this._skeleton=s}render(s,t){if(!this.visible)return this.makeDirty(!1),this;s.save(),this._draw(s,t),s.restore()}getParentScale(){let{scaleX:s=1,scaleY:t=1}=this.parent;return this.parent.classType===k.SCENE_VIEWER&&(s=this.parent.ancestorScaleX||1,t=this.parent.ancestorScaleY||1),{scaleX:s,scaleY:t}}getDocuments(){}getNoMergeCellPositionByIndex(s,t){}getScrollXYByRelativeCoords(s){return{x:0,y:0}}getSelectionBounding(s,t,e,n){}_draw(s,t){}}class e7 extends t7{_draw(s,t){this.draw(s,t)}}class oD extends e7{constructor(t,e){super(t,e);h(this,"_columnHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(t,e){const n=this.getSkeleton();if(!n)return;const i=this.getParentScale();n.calculateSegment(e);const o=n.rowColumnSegment;if(o.startColumn===-1&&o.endColumn===-1)return;const{rowHeaderWidth:a}=n;t.translateWithPrecision(a,0);const l=this.getExtensionsByOrder();for(const u of l)u.draw(t,i,n)}isHit(t){const e=this._getInverseCoord(t),n=this.getSkeleton();if(!n)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=n;return e.x>i&&e.y>=0&&e.y<=o}_initialDefaultExtension(){Q6.getData().forEach(t=>{this.register(t)}),this._columnHeaderLayoutExtension=this.getExtensionByKey("DefaultColumnHeaderLayoutExtension")}}var O4=(r=>(r[r.GRID=0]="GRID",r))(O4||{});class N1 extends Z6{constructor(){super(...arguments);h(this,"type",0)}getCellIndex(t,e,n,i,o){return s2(t,e,n,i,o)}isRenderDiffRangesByCell(t,e){if(e==null||e.length===0)return!0;for(const n of e){const{startRow:i,startColumn:o,endRow:a,endColumn:l}=n;if(_.Rectangle.intersects(n,{startRow:i,endRow:a,startColumn:o,endColumn:l}))return!0}return!1}isRenderDiffRangesByColumn(t,e,n){if(n==null||n.length===0)return!0;for(const i of n){const{startColumn:o,endColumn:a}=i;if(_.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,n){if(n==null||n.length===0)return!0;for(const i of n){const{startRow:o,endRow:a}=i;if(_.Rectangle.intersects({startRow:t,endRow:e,startColumn:0,endColumn:0},{startRow:o,endRow:a,startColumn:0,endColumn:0}))return!0}return!1}}const aD="DefaultBackgroundExtension",uD=40,lD=20;let w4=class extends N1{constructor(){super(...arguments);h(this,"uKey",aD);h(this,"Z_INDEX",uD);h(this,"PRINTING_Z_INDEX",lD)}get zIndex(){var t;return(t=this.parent)!=null&&t.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(t,e,n,i){const{stylesCache:o}=n,{background:a,backgroundPositions:l}=o;if(!n)return;const{rowHeightAccumulation:u,columnTotalWidth:c,columnWidthAccumulation:D,rowTotalHeight:f}=n;!u||!D||c===void 0||f===void 0||(t.save(),t.setGlobalCompositeOperation("destination-over"),a&&Object.keys(a).forEach(p=>{const C=a[p];t.fillStyle=p||l1([255,255,255]),t.beginPath(),C.forValue((m,F)=>{const b=l==null?void 0:l.getValue(m,F);if(b==null)return!0;let{startY:S,endY:T,startX:y,endX:v}=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&&(S=O.startY,T=O.endY,y=O.startX,v=O.endX),t.moveToByPrecision(y,S),t.lineToByPrecision(y,T),t.lineToByPrecision(v,T),t.lineToByPrecision(v,S)}),t.closePath(),t.fill()}),t.restore())}};U1.add(w4);const cD="DefaultBorderExtension",hD=50;let A4=class extends N1{constructor(){super(...arguments);h(this,"uKey",cD);h(this,"Z_INDEX",hD)}draw(t,e,n,i){const{dataMergeCache:o,stylesCache:a,overflowCache:l}=n,{border:u}=a;if(!n)return;const{rowHeightAccumulation:c,columnTotalWidth:D,columnWidthAccumulation:f,rowTotalHeight:p}=n;if(!c||!f||D===void 0||p===void 0)return;t.save();let C,m;t.translateWithPrecisionRatio(o1,o1);const F=this._getScale(t.getScale());u==null||u.forValue((b,S,T)=>{if(!T)return!0;const y=this.getCellIndex(b,S,c,f,o),{startY:v,endY:B,startX:w,endX:O}=y,{isMerged:A,isMergedMainCell:I,mergeInfo:R}=y;if(!this.isRenderDiffRangesByRow(R.startRow,R.endRow,i))return!0;for(const L in T){const{type:N,style:$,color:M}=T[L];let X=v,H=B,j=w,W=O;if(N!==Y.TOP&&N!==Y.BOTTOM&&N!==Y.LEFT&&N!==Y.RIGHT){if(A)return!0;I&&(X=R.startY,H=R.endY,j=R.startX,W=R.endX)}const U=G6($);$!==C&&(j6(t,$),t.setLineWidthByPrecision(U),C=$),M!==m&&(t.strokeStyle=M||L1,m=M),p4(t,N,{startX:j,startY:X,endX:W,endY:H}),!this._getOverflowExclusion(l,N,b,S)&&W6(t,N,(U-1)/2/F,{startX:j,startY:X,endX:W,endY:H})}}),t.closePath(),t.restore()}_getOverflowExclusion(t,e,n,i){let o=!1;return e===Y.TOP||e===Y.BOTTOM||t==null||t.forRow((a,l)=>{if(a!==n)return!0;l.forEach(u=>{const c=t.getValue(a,u),{startColumn:D,endColumn:f}=c;if(e===Y.LEFT&&i>D&&i<=f||e===Y.RIGHT&&i>=D&&i<f)return o=!0,!1})}),o}};U1.add(A4);const DD="DefaultColumnHeaderLayoutExtension";class R4 extends N1{constructor(){super(...arguments);h(this,"uKey",DD);h(this,"Z_INDEX",10)}draw(t,e,n){const{rowColumnSegment:i,columnHeaderHeight:o=0}=n,{startColumn:a,endColumn:l}=i;if(!n)return;const{rowHeightAccumulation:u,columnTotalWidth:c,columnWidthAccumulation:D,rowTotalHeight:f}=n;if(!u||!D||c===void 0||f===void 0)return;const p=this._getScale(e);t.fillStyle=l1([248,249,250]),t.fillRectByPrecision(0,0,c,o),t.textAlign="center",t.textBaseline="middle",t.fillStyle=l1([0,0,0]),t.beginPath(),t.setLineWidthByPrecision(1),t.translateWithPrecisionRatio(o1,o1),t.strokeStyle=l1([217,217,217]),t.font=`13px ${K2}`;let C=0;const m=D.length;for(let b=a-1;b<=l;b++){if(b<0||b>m-1)continue;const S=D[b];if(C===S)continue;t.moveToByPrecision(S,0),t.lineToByPrecision(S,o);const T=C+(S-C)/2;t.fillText(_.numberToABC(b),T,o/2+P6),C=S}const F=o-.5/p;t.moveToByPrecision(0,F),t.lineToByPrecision(c,F),t.stroke()}}Q6.add(new R4);function r2(r){return r[r.length-1]}function s7(r){var s;return(s=r.sections)==null?void 0:s[r.sections.length-1]}function _D(r){var t;const s=(t=W2(r))==null?void 0:t.column.lines;return s==null?void 0:s[s.length-1]}function dD(r){return r.lines[r.lines.length-1]}function W2(r){const s=s7(r);for(let t=0;t<s.columns.length;t++){const e=s.columns[t];if(!e.isFull)return{column:e,isLast:t===s.columns.length-1,index:t}}}function fD(r){const s=_D(r);if(s)for(let t=0;t<s.divides.length;t++){const e=s.divides[t];if(!e.isFull)return{divide:e,isLast:t===s.divides.length-1,index:t}}}function gD(r){const s=s7(r),t=s.columns.length;for(let e=0;e<t;e++)if(!s.columns[e].isFull)return!1;return!0}function z1(r,s){if(r instanceof Object){const{v:t,u:e}=r;return e===_.NumberUnitType.POINT?t:t*s}return r}function Q2(r=0,s,t=_.GridType.LINES,e=_.BooleanNumber.TRUE){let n=1;return I4(t,e)&&(n=r),n*=s,n}function I4(r=_.GridType.LINES,s=_.BooleanNumber.FALSE){return s===_.BooleanNumber.TRUE&&(r===_.GridType.LINES_AND_CHARS||r===_.GridType.SNAP_TO_CHARS)}function x4(r,s){const{paragraphStyle:t={}}=s,{linePitch:e=15.6,gridType:n=_.GridType.LINES,paragraphLineGapDefault:i=0}=r,{lineSpacing:o=1,spacingRule:a=_.SpacingRule.AUTO,snapToGrid:l=_.BooleanNumber.TRUE}=t;return{paragraphLineGapDefault:i,linePitch:e,gridType:n,lineSpacing:o,spacingRule:a,snapToGrid:l}}function pD(r,s){const{paragraphStyle:t={}}=s,{charSpace:e=0,gridType:n=_.GridType.LINES,defaultTabStop:i=36,documentTextStyle:o={}}=r,{fs:a=J7}=o,{snapToGrid:l=_.BooleanNumber.TRUE}=t;return{charSpace:e,documentFontSize:a,defaultTabStop:i,gridType:n,snapToGrid:l}}function S6(r,s=-1){let t=s;for(const e of r){const{sections:n}=e,i=t;let o=i,a=Number.NEGATIVE_INFINITY,l=0;for(const u of n){const{columns:c}=u,D=o;let f=D,p=Number.NEGATIVE_INFINITY,C=0;for(const m of c){const{lines:F}=m,b=f;let S=b,T=0,y=Number.NEGATIVE_INFINITY,v=null;for(const B of F){const{divides:w,lineHeight:O}=B,A=S;let I=A,R=0,L=0;T+=O;const N=w.length;for(let $=0;$<N;$++){const M=w[$],{glyphGroup:X}=M,H=I;let j=H;for(const W of X){const U=W.glyphType===m1.LIST?0:W.count;j+=U;const J=W.bBox,{ba:K}=J;L=Math.max(L,K),$===N-1&&(R+=W.width)}$===N-1&&(R+=M.left),X.length!==0&&(M.st=H+1,M.ed=j>=M.st?j:M.st,I=M.ed)}B.st=A+1,B.ed=I>=B.st?I:B.st,B.width=R,B.asc=L,y=Math.max(y,R),B.top=((v==null?void 0:v.top)||0)+((v==null?void 0:v.lineHeight)||0),v=B,S=B.ed}m.st=b+1,m.ed=S>=m.st?S:m.st,m.height=T,m.width=y,C+=y,p=Math.max(p,m.height),f=m.ed}u.st=D+1,u.ed=f>=u.st?f:u.st,u.height=p,l+=p,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 mD(r,s){for(const t of r){const{sections:e}=t;for(const n of e){const{columns:i}=n;for(const o of i){const{lines:a}=o;for(const l of a)s&&$6(s)&&s(l)}}}}function FD(r,s){for(const t of r){const{sections:e}=t;for(const n of e){const{columns:i}=n;for(const o of i)s&&$6(s)&&s(o)}}}function CD(r,s,t,e,n=!1){const{relativeFrom:i,align:o,posOffset:a,percent:l}=r;if(o!=null)if(o===_.AlignTypeH.INSIDE||o===_.AlignTypeH.OUTSIDE)i===_.ObjectRelativeFromH.MARGIN||_.ObjectRelativeFromH.PAGE;else{if(i===_.ObjectRelativeFromH.COLUMN){const{width:u,left:c}=s;let D=0;return o===_.AlignTypeH.LEFT?D=c:o===_.AlignTypeH.RIGHT?D=c+u-e:o===_.AlignTypeH.CENTER&&(D=c+u/2-e/2),D}if(i!==_.ObjectRelativeFromH.LEFT_MARGIN){if(i!==_.ObjectRelativeFromH.MARGIN){if(i!==_.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==_.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==_.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===_.ObjectRelativeFromH.PAGE){const{pageWidth:u}=t;let c=0;return o===_.AlignTypeH.RIGHT?c=u-e:o===_.AlignTypeH.CENTER&&(c=u/2-e/2),c}}}}}}}else if(a){const{pageWidth:u,marginLeft:c,marginRight:D}=t,f=u-D;let p=0;return i===_.ObjectRelativeFromH.COLUMN?p=(n?0:(s==null?void 0:s.left)||0)+a:i===_.ObjectRelativeFromH.LEFT_MARGIN||(i===_.ObjectRelativeFromH.MARGIN?p=a+c:i===_.ObjectRelativeFromH.RIGHT_MARGIN||i===_.ObjectRelativeFromH.INSIDE_MARGIN||i===_.ObjectRelativeFromH.OUTSIDE_MARGIN||i===_.ObjectRelativeFromH.PAGE&&(p=a)),p+e>f&&(p=f-e),p}else if(l){const{pageWidth:u,marginLeft:c,marginRight:D}=t;if(i!==_.ObjectRelativeFromH.LEFT_MARGIN){if(i!==_.ObjectRelativeFromH.MARGIN){if(i!==_.ObjectRelativeFromH.RIGHT_MARGIN){if(i!==_.ObjectRelativeFromH.INSIDE_MARGIN){if(i!==_.ObjectRelativeFromH.OUTSIDE_MARGIN){if(i===_.ObjectRelativeFromH.PAGE)return l*u}}}}}}}function ED(r,s,t,e,n,i,o=!1){const{relativeFrom:a,align:l,posOffset:u,percent:c}=r;if(l!=null){if(a===_.ObjectRelativeFromV.LINE){let D=0;return l===_.AlignTypeV.BOTTOM?D=t+e-n:l===_.AlignTypeV.TOP?D=t:l===_.AlignTypeV.CENTER&&(D=t+e/2-n/2),D}if(a!==_.ObjectRelativeFromV.TOP_MARGIN){if(a!==_.ObjectRelativeFromV.MARGIN){if(a!==_.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==_.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==_.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===_.ObjectRelativeFromV.PAGE){const{pageHeight:D}=s;let f=0;return l===_.AlignTypeV.BOTTOM?f=D-n:l===_.AlignTypeV.CENTER&&(f=D/2-n/2),f}}}}}}}else if(u){let D=0;return a===_.ObjectRelativeFromV.LINE?D=t||0+u:a===_.ObjectRelativeFromV.TOP_MARGIN||a===_.ObjectRelativeFromV.MARGIN||a===_.ObjectRelativeFromV.BOTTOM_MARGIN||a===_.ObjectRelativeFromV.INSIDE_MARGIN||a===_.ObjectRelativeFromV.OUTSIDE_MARGIN||(a===_.ObjectRelativeFromV.PAGE?D=u:a===_.ObjectRelativeFromV.PARAGRAPH&&(D=(o?0:i==null?t:i)+u)),D}else if(c){const{pageHeight:D,marginBottom:f,marginTop:p}=s;if(a!==_.ObjectRelativeFromV.TOP_MARGIN){if(a!==_.ObjectRelativeFromV.MARGIN){if(a!==_.ObjectRelativeFromV.BOTTOM_MARGIN){if(a!==_.ObjectRelativeFromV.INSIDE_MARGIN){if(a!==_.ObjectRelativeFromV.OUTSIDE_MARGIN){if(a===_.ObjectRelativeFromV.PAGE)return c*D}}}}}}}function E7(r){let s=0;for(const t of r.glyphGroup)s+=t.width;return s}const T6=new _.ObjectMatrix;function bD(){T6.reset()}function R2(r,s,t,e,n){const{startIndex:i}=t,o=s.getTextRun(r+i)||{ts:{},st:0,ed:0},{st:a,ed:l}=o;let{ts:u={}}=o;const c=T6.getValue(a,l);if(c)return c;const{gridType:D=_.GridType.LINES,charSpace:f=0,documentTextStyle:p={},pageSize:C={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginRight:m=0,marginLeft:F=0,localeService:b}=e,{snapToGrid:S=_.BooleanNumber.TRUE}=n;u={...p,...u};const T=C2(u),y={...p,...u},v=C.width||Number.POSITIVE_INFINITY-F-m,B={fontStyle:T,textStyle:y,charSpace:f,gridType:D,snapToGrid:S,pageWidth:v};return T6.setValue(a,l,B),B}var SD=Object.defineProperty,TD=Object.getOwnPropertyDescriptor,yD=(r,s,t,e)=>{for(var n=e>1?void 0:e?TD(s,t):s,i=r.length-1,o;i>=0;i--)(o=r[i])&&(n=(e?o(s,t,n):o(n))||n);return e&&n&&SD(s,t,n),n},vD=(r,s)=>(t,e)=>s(t,e,r);exports.Skeleton=class extends _.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(){}};exports.Skeleton=yD([vD(0,G1.Inject(_.LocaleService))],exports.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(s=0,t=0){this._translateX=s,this._translateY=t}translate(s=0,t=0){this._translateX+=s,this._translateY+=t}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){const s=this._translateSaveList.pop();s&&(this._translateX=s.x,this._translateY=s.y)}translatePagePadding(s){const{marginTop:t=0,marginBottom:e=0,marginLeft:n=0,marginRight:i=0}=s;this.translate(n,t)}restorePagePadding(s){const{marginTop:t=0,marginBottom:e=0,marginLeft:n=0,marginRight:i=0}=s;this.translate(-n,-t)}translatePage(s,t=v1.VERTICAL,e=0,n=0,i=0,o=0){const{pageWidth:a,pageHeight:l}=s;let u=0,c=0;return t===v1.VERTICAL?u+=l+n:t===v1.HORIZONTAL&&(c+=a+e),this.translate(c,u),{x:c,y:u}}translateSection(s){const{top:t=0}=s;return this.translate(0,t),{x:0,y:t}}translateColumn(s){const{left:t}=s;return this.translate(t,0),{x:t,y:0}}translateLine(s,t=!1){const{top:e,marginBottom:n=0,marginTop:i=0,paddingTop:o=0,paddingBottom:a=0}=s,l=e+(t===!0?i:0)+o;return this.translate(0,l),{x:0,y:l}}translateDivide(s){const{left:t,paddingLeft:e}=s,n=t+e;return this.translate(n,0),{x:n,y:0}}translateSpan(s){const{left:t}=s;return this.translate(t,0),{x:t,y:0}}}function P4(r=[],s=_.ColumnSeparatorType.NONE,t=0,e=0,n=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY){const o=[];let a=0,l=0;if(r.length===0)o.push(a6(e,n,0,_.ColumnSeparatorType.NONE));else for(let c=0;c<r.length;c++){const{width:D,paddingEnd:f}=r[c];l=f,a=D,o.push(a6(e,a,l,s)),e+=a+l,c===r.length-1&&(a=n!==Number.POSITIVE_INFINITY?n-a:D,l=0,o.push(a6(e,a,l,s)))}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 M4(r,s){r.isFull=s}function a6(r,s,t,e){return{lines:[],left:r,width:s,height:0,spaceWidth:t,separator:e,st:0,ed:0,drawingLRIds:[],isFull:!1}}function BD(){return[]}class L2{constructor(s,t=!1){this.position=s,this.required=t}}const OD=5,b7=12,wD=13,AD=16,RD=17,ID=22,S7=28,T7=31,xD=33,k2=34,PD=35,u6=36,y6=37,L4=38,MD=39,LD=40,d2=41,$D=42,d=0,g=1,G=2,$4=3,E=4,ND=[[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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,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,G,E,d,d,d,d,d,d,d,d,g,d]];class kD{constructor(){h(this,"_rules",new Map)}add(s,t){this._rules.set(s,t)}shouldBreak(s,t){for(const e of this._rules.values())if(e(s,t))return!0;return!1}}const HD=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]),XD=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,y7=(r,s,t)=>{const e=r[s];r[s]=r[t],r[t]=e},YD=r=>{const s=r.length;for(let t=0;t<s;t+=4)y7(r,t,t+3),y7(r,t+1,t+2)},zD=r=>{XD&&YD(r)},n7=0,N4=-3;class v2{constructor(){h(this,"table",new Uint16Array(16));h(this,"trans",new Uint16Array(288))}}class WD{constructor(s,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=s,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new v2,this.dtree=new v2}}const k4=new v2,H4=new v2,i7=new Uint8Array(30),r7=new Uint16Array(30),X4=new Uint8Array(30),Y4=new Uint16Array(30),jD=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),v7=new v2,E1=new Uint8Array(320);function z4(r,s,t,e){let n,i;for(n=0;n<t;++n)r[n]=0;for(n=0;n<30-t;++n)r[n+t]=n/t|0;for(i=e,n=0;n<30;++n)s[n]=i,i+=1<<r[n]}function GD(r,s){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)s.table[t]=0;for(s.table[5]=32,t=0;t<32;++t)s.trans[t]=t}const B7=new Uint16Array(16);function l6(r,s,t,e){let n,i;for(n=0;n<16;++n)r.table[n]=0;for(n=0;n<e;++n)r.table[s[t+n]]++;for(r.table[0]=0,i=0,n=0;n<16;++n)B7[n]=i,i+=r.table[n];for(n=0;n<e;++n)s[t+n]&&(r.trans[B7[s[t+n]]++]=n)}function UD(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);const s=r.tag&1;return r.tag>>>=1,s}function S1(r,s,t){if(!s)return t;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;const e=r.tag&65535>>>16-s;return r.tag>>>=s,r.bitcount-=s,e+t}function v6(r,s){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;let t=0,e=0,n=0,i=r.tag;do e=2*e+(i&1),i>>>=1,++n,t+=s.table[n],e-=s.table[n];while(e>=0);return r.tag=i,r.bitcount-=n,s.trans[t+e]}function VD(r,s,t){let e,n,i;const o=S1(r,5,257),a=S1(r,5,1),l=S1(r,4,4);for(e=0;e<19;++e)E1[e]=0;for(e=0;e<l;++e){const u=S1(r,3,0);E1[jD[e]]=u}for(l6(v7,E1,0,19),n=0;n<o+a;){const u=v6(r,v7);switch(u){case 16:{const c=E1[n-1];for(i=S1(r,2,3);i;--i)E1[n++]=c;break}case 17:for(i=S1(r,3,3);i;--i)E1[n++]=0;break;case 18:for(i=S1(r,7,11);i;--i)E1[n++]=0;break;default:E1[n++]=u;break}}l6(s,E1,0,o),l6(t,E1,o,a)}function O7(r,s,t){for(;;){let e=v6(r,s);if(e===256)return n7;if(e<256)r.dest[r.destLen++]=e;else{let n;e-=257;const i=S1(r,i7[e],r7[e]),o=v6(r,t),a=r.destLen-S1(r,X4[o],Y4[o]);for(n=a;n<a+i;++n)r.dest[r.destLen++]=r.dest[n]}}}function KD(r){let s,t,e;for(;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if(s=r.source[r.sourceIndex+1],s=256*s+r.source[r.sourceIndex],t=r.source[r.sourceIndex+3],t=256*t+r.source[r.sourceIndex+2],s!==(~t&65535))return N4;for(r.sourceIndex+=4,e=s;e;--e)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,n7}function w7(r,s){const t=new WD(r,s);let e,n,i;do{switch(e=UD(t),n=S1(t,2,0),n){case 0:i=KD(t);break;case 1:i=O7(t,k4,H4);break;case 2:VD(t,t.ltree,t.dtree),i=O7(t,t.ltree,t.dtree);break;default:i=N4}if(i!==n7)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}GD(k4,H4);z4(i7,r7,4,3);z4(X4,Y4,2,1);i7[28]=0;r7[28]=258;const o7=11,j1=5,JD=o7-j1,ZD=65536>>o7,qD=1<<JD,QD=qD-1,H2=2,t_=1<<j1,c6=t_-1,W4=65536>>j1,e_=1024>>j1,s_=W4+e_,n_=s_,i_=32,r_=n_+i_,o_=1<<H2;class a_{constructor(s){h(this,"highStart");h(this,"errorValue");h(this,"data");const t=typeof s.readUInt32BE=="function"&&typeof s.slice=="function";if(t||s instanceof Uint8Array){let e;if(t)this.highStart=s.readUInt32LE(0),this.errorValue=s.readUInt32LE(4),e=s.readUInt32LE(8),s=s.slice(12);else{const n=new DataView(s.buffer);this.highStart=n.getUint32(0,!0),this.errorValue=n.getUint32(4,!0),e=n.getUint32(8,!0),s=s.subarray(12)}s=w7(s,new Uint8Array(e)),s=w7(s,new Uint8Array(e)),zD(s),this.data=new Uint32Array(s.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=s)}get(s){let t;return s<0||s>1114111?this.errorValue:s<55296||s>56319&&s<=65535?(t=(this.data[s>>j1]<<H2)+(s&c6),this.data[t]):s<=65535?(t=(this.data[W4+(s-55296>>j1)]<<H2)+(s&c6),this.data[t]):s<this.highStart?(t=this.data[r_-ZD+(s>>o7)],t=this.data[t+(s>>j1&QD)],t=(t<<H2)+(s&c6),this.data[t]):this.data[this.data.length-o_]}}const u_=new a_(HD);function h6(r){switch(r){case xD:return b7;case MD:case LD:case $D:return b7;case PD:return OD;default:return r}}function D6(r){switch(r){case y6:case L4:return k2;case d2:return ID;default:return r}}class l_{constructor(s){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 kD);this.string=s}use(s){return s(this),this}addRule(s,t){return this._rule.add(s,t),this}nextBreak(){if(this._curClass==null){const s=this._nextCharClass();this._curClass=D6(s),this._nextClass=s,this._LB8a=s===T7,this._LB30a=0}for(;this._pos<this.string.length;){this._lastPos=this._pos;const s=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===k2||this._curClass===u6&&this._nextClass!==y6)return this._curClass=D6(h6(this._nextClass)),new L2(this._lastPos,!0);if(this._rule.shouldBreak(this._codePoint,this._nextClass))return this._curClass=D6(h6(this._nextClass)),new L2(this._lastPos);let t=this._getSimpleBreak();if(t===null&&(t=this._getPairTableBreak(s)),this._LB8a=this._nextClass===T7,t)return new L2(this._lastPos)}return this._lastPos<this.string.length?(this._lastPos=this.string.length,new L2(this.string.length)):null}_getNextCodePoint(){const s=this.string.charCodeAt(this._pos++),t=this.string.charCodeAt(this._pos);return s>=55296&&s<=56319&&t>=56320&&t<=57343?(this._pos++,(s-55296)*1024+(t-56320)+65536):s}_nextCharClass(){const s=this._getNextCodePoint(),t=u_.get(s);return this._codePoint=s,h6(t)}_getSimpleBreak(){switch(this._nextClass){case d2:return!1;case k2:case y6:case L4:return this._curClass=k2,!1;case u6:return this._curClass=u6,!1}return null}_getPairTableBreak(s){let t=!1;switch(ND[this._curClass][this._nextClass]){case d:t=!0;break;case g:t=s===d2;break;case G:if(t=s===d2,!t)return t=!1,t;break;case $4:if(s!==d2)return t;break}return this._LB8a&&(t=!1),this._LB21a&&(this._curClass===AD||this._curClass===RD)?(t=!1,this._LB21a=!1):this._LB21a=this._curClass===wD,this._curClass===S7?(this._LB30a++,this._LB30a===2&&this._nextClass===S7&&(t=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,t}}const c_=9;function h_(r){r.addRule("break_before_tab",s=>s===c_)}function j4(r){return[" "," "," "].includes(r)}function G4(r){return j4(r)||E2(r)||Z2(r)||q2(r)||X6(r)}function B6(r,s){return j4(r)?{stretchability:[0,s/2],shrinkability:[0,s/3]}:Z2(r)?{stretchability:[0,0],shrinkability:[0,s/2]}:q2(r)?{stretchability:[0,0],shrinkability:[s/2,0]}:X6(r)?{stretchability:[0,0],shrinkability:[s/4,s/4]}:{stretchability:[0,0],shrinkability:[0,0]}}function D_(r,s,t){return a7(m1.WORD,r,s,t)}function t6(r,s,t){return a7(m1.LETTER,r,s,t)}function __(r,s){return a7(m1.TAB,_.DataStreamTreeTokenType.TAB,r,s)}function a7(r,s,t,e){const{fontStyle:n,textStyle:i,charSpace:o=1,gridType:a=_.GridType.LINES,snapToGrid:l=_.BooleanNumber.FALSE}=t,u=[_.DataStreamTreeTokenType.SECTION_BREAK,_.DataStreamTreeTokenType.TABLE_START,_.DataStreamTreeTokenType.TABLE_END,_.DataStreamTreeTokenType.TABLE_ROW_START,_.DataStreamTreeTokenType.TABLE_ROW_END,_.DataStreamTreeTokenType.TABLE_CELL_START,_.DataStreamTreeTokenType.TABLE_CELL_END,_.DataStreamTreeTokenType.CUSTOM_RANGE_START,_.DataStreamTreeTokenType.CUSTOM_RANGE_END,_.DataStreamTreeTokenType.COLUMN_BREAK,_.DataStreamTreeTokenType.PAGE_BREAK,_.DataStreamTreeTokenType.DOCS_END,_.DataStreamTreeTokenType.CUSTOM_BLOCK];let c=_.DataStreamTreeTokenType.LETTER;if(u.indexOf(s)>-1)return{content:"",ts:i,fontStyle:n,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:B6(s,0),glyphType:m1.PLACEHOLDER,streamType:s,count:1};s===_.DataStreamTreeTokenType.PARAGRAPH&&(c=_.DataStreamTreeTokenType.PARAGRAPH);const D=P1.getTextSize(s,n),{width:f=0}=D;let p=e!=null?e:f,C=0;return I4(a,l)&&(p=f+(O2(s)?o:o/2),a===_.GridType.SNAP_TO_CHARS&&(C=(p-f)/2)),{content:s,ts:i,fontStyle:n,width:p,bBox:D,xOffset:C,left:0,glyphType:r,streamType:c,isJustifiable:G4(s),adjustability:B6(s,p),count:s.length}}function d_(r,s,t){const{bBox:e,symbol:n,ts:i,fontStyle:o,bulletAlign:a=_.BulletAlignment.START,bulletType:l=!1}=s,u=e.width,c=Math.ceil(u/t);let D=(c<2?2:c)*t,f=0;l&&(a===_.BulletAlignment.CENTER?(f=-u/2,D-=f):a===_.BulletAlignment.END&&(f=-u,D-=f));const p=f_(r,s);return{content:n,ts:i,fontStyle:o,width:D,xOffset:0,bBox:p,left:f,isJustifiable:G4(n),adjustability:B6(n,D),glyphType:m1.LIST,streamType:_.DataStreamTreeTokenType.LETTER,count:0}}function U4(r,s=0){const t=r.length;let e;for(let n=0;n<t;n++){const i=r[n];i.left=e?e.left+e.width:s,e=i}}function _6(r,s,t=0){U4(s,t);for(const e of s)e.parent=r;r.glyphGroup.push(...s)}function f_(r,s){const{ba:t,bd:e}=r.bBox,{ba:n,bd:i}=s.bBox;return t+e>n+i?r.bBox:s.bBox}function V4(r,s){r.width-=s,r.adjustability.shrinkability[1]-=s}function K4(r,s){r.width-=s,r.xOffset-=s,r.adjustability.shrinkability[0]-=s}function g_(r,s,t,e,n,i){const o=[];let a=0;for(let l=0;l<s.length;l++){const u=s[l];if(l4(u)||N6(s.substring(l)))break;const c=R2(r+l,t,e,n,i),D=t6(u,c);o.push(D),a++}return{step:a,glyphGroup:o}}function p_(r,s,t,e,n,i){const o=R2(r,t,e,n,i),a=[];let l=0;for(let u=0;u<s.length;u++){const c=s[u];if(k6(c))a.unshift(c),l++;else break}return{step:l,glyphGroup:[t6(a.join(""),o)]}}function m_(r,s,t,e,n,i){const o=R2(r,t,e,n,i),a=s.match(u4);return{step:a[0].length,glyphGroup:[t6(a[0],o)]}}function F_(r,s,t,e,n,i){const o=R2(r,t,e,n,i),a=[];let l=0;for(let u=0;u<s.length;u++){const c=s[u];if(H6(c))a.push(c),l++;else break}return{step:l,glyphGroup:[D_(a.join(""),o)]}}function C_(r){const s=r.length;for(let t=0;t<s-1;t++){const e=r[t],n=r[t+1],{width:i,content:o}=e,a=i/2;if(E6(o)&&E6(n.content)&&e.adjustability.shrinkability[1]+n.adjustability.shrinkability[0]>=a){const l=Math.min(e.adjustability.shrinkability[1],a);V4(e,l),K4(n,a-l)}}}function E_(r){const s=r.flatMap(i=>i.glyphs);let t=null;const e=s.length,n=/[a-z\d]/i;for(let i=0;i<e;i++){const o=s[i],a=i<e-1?s[i+1]:null,{width:l}=o;E2(o.content)&&a&&n.test(a.content)&&(o.width+=l/4,o.adjustability.shrinkability[1]+=l/8),E2(o.content)&&t&&n.test(t.content)&&(o.width+=l/4,o.xOffset+=l/4,o.adjustability.shrinkability[0]+=l/8),t=o}}function b_(r,s,t,e,n){var p;const{gridType:i=_.GridType.LINES,charSpace:o=0,defaultTabStop:a=10.5}=e,{snapToGrid:l=_.BooleanNumber.TRUE}=n,u=[],c=new l_(r);let D=0,f;for(h_(c);f=c.nextBreak();){const C=r.slice(D,f.position);let m=C,F=D;const b=[];for(;m.length>0;){const S=(p=m.match(/^[\s\S]/gu))==null?void 0:p[0];if(S==null)break;if(/\s/.test(S)||O2(S)){const T=R2(F,s,t,e,n);let y;if(S===_.DataStreamTreeTokenType.TAB){const v=Q2(o,a,i,l);y=__(T,v)}else y=t6(S,T);b.push(y),F+=S.length,m=m.substring(S.length)}else if(N6(m)){const{step:T,glyphGroup:y}=m_(F,m,s,t,e,n);b.push(...y),F+=T,m=m.substring(T)}else if(k6(S)){const{step:T,glyphGroup:y}=p_(F,m,s,t,e,n);b.push(...y),F+=T,m=m.substring(T)}else if(H6(S)){const{step:T,glyphGroup:y}=F_(F,m,s,t,e,n);b.push(...y),F+=T,m=m.substring(T)}else{const{step:T,glyphGroup:y}=g_(F,m,s,t,e,n);b.push(...y),F+=T,m=m.substring(T)}}C_(b),u.push({text:C,glyphs:b}),D=f.position}return E_(u),u}function B2(r,s,t=1,e=i2.SECTION){var r1,f1,F1,_1;const n=S_(),{pageNumberStart:i=1,pageSize:o={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},pageOrient:a=_.PageOrientType.PORTRAIT,headerIds:l={},footerIds:u={},useFirstPageHeaderFooter:c,useEvenPageHeaderFooter:D,footerTreeMap:f,headerTreeMap:p,columnProperties:C=[],columnSeparatorType:m,marginTop:F=0,marginBottom:b=0,marginHeader:S=0,marginFooter:T=0,marginLeft:y=0,marginRight:v=0,renderConfig:B={}}=r,{skeHeaders:w,skeFooters:O}=s,{width:A=Number.POSITIVE_INFINITY,height:I=Number.POSITIVE_INFINITY}=o;n.pageNumber=t,n.pageNumberStart=i,n.renderConfig=B,n.marginLeft=y,n.marginRight=v,n.breakType=e,n.pageWidth=A,n.width=0,n.pageHeight=I,n.height=0,n.pageOrient=a;const{defaultHeaderId:R,evenPageHeaderId:L,firstPageHeaderId:N}=l,{defaultFooterId:$,evenPageFooterId:M,firstPageFooterId:X}=u;let H=R!=null?R:"",j=$!=null?$:"";t===i&&c?(H=N!=null?N:"",j=X!=null?X:""):t%2===0&&D&&(H=L!=null?L:"",j=M!=null?M:"");let W,U;H&&((r1=w.get(H))!=null&&r1.has(A)?W=(f1=w.get(H))==null?void 0:f1.get(A):p&&p.has(H)&&(W=A7(p.get(H),r,s),w.set(H,new Map([[A,W]]))),n.headerId=H),j&&((F1=O.get(j))!=null&&F1.has(A)?U=(_1=O.get(j))==null?void 0:_1.get(A):f&&f.has(j)&&(U=A7(f.get(j),r,s),O.set(H,new Map([[A,U]]))),n.footerId=j),n.marginTop=R7(F,S,W),n.marginBottom=R7(b,T,U);const J=n.sections,K=J[J.length-1],{marginTop:e1,marginBottom:D1,marginLeft:a1,marginRight:Q}=n,V=A-a1-Q,u1=I-e1-D1;let q=0;K&&(q=K.top+K.height);const n1=P4(C,m,q,0,V,u1-q);return n1.parent=n,J.push(n1),n}function S_(){return{sections:[],headerId:"",footerId:"",pageWidth:0,pageHeight:0,pageOrient:_.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,marginLeft:0,marginRight:0,marginTop:0,marginBottom:0,breakType:i2.SECTION,st:0,ed:0,skeDrawings:new Map}}function A7(r,s,t,e=!0){const{lists:n,footerTreeMap:i,headerTreeMap:o,localeService:a,pageSize:l,marginLeft:u=0,marginRight:c=0,drawings:D,marginTop:f=0,marginBottom:p=0,marginHeader:C=0,marginFooter:m=0}=s,F=(l==null?void 0:l.width)||Number.POSITIVE_INFINITY,b={lists:n,footerTreeMap:i,headerTreeMap:o,pageSize:{width:F-u-c,height:Number.POSITIVE_INFINITY},localeService:a,drawings:D},S=B2(b,t),T=et(r,r.children[0],S,b,t).pages[0];S6([T]);const y=T.sections[0].columns[0],v=y.height||0,{skeDrawings:B,st:w,ed:O}=T,A={lines:y.lines,skeDrawings:B,height:v,st:w,ed:O,marginLeft:u,marginRight:c};return e?{...A,marginTop:T_(f,C,v)}:{...A,marginBottom:y_(p,m,v)}}function R7(r,s,t){return!t||t.lines.length===0?r:Math.max(r,s,(t==null?void 0:t.height)||0)}function T_(r,s,t){const e=Math.max(r,s);return t>e?0:e-t}function y_(r,s,t){const e=Math.max(r,s);return t>e?0:e-t}function v_(r,s,t,e,n=0,i=!1,o,a,l){const{lineHeight:u=15.6,lineTop:c=0,contentHeight:D=0,paddingLeft:f=0,paddingRight:p=0,paddingTop:C=0,paddingBottom:m=0,marginTop:F=0,spaceBelowApply:b=0}=t,S=x_(s,r);S.lineIndex=n,S.paragraphStart=i,S.contentHeight=D,S.top=c,S.lineHeight=u,S.paddingTop=C,S.paddingBottom=m,S.marginTop=F,S.spaceBelowApply=b,S.divides=O_(u,c,e,f,p,o,a,l);for(const T of S.divides)T.parent=S;return S}function B_(r=15.6,s=0,t,e,n){let i=s;return e==null||e.forEach(o=>{const a=d6(o,r,s);a&&(i=Math.max(i,a))}),n==null||n.forEach(o=>{const a=d6(o,r,s);a&&(i=Math.max(i,a))}),t==null||t.forEach(o=>{const a=d6(o,r,s);a&&(i=Math.max(i,a))}),i}function d6(r,s,t){const{aTop:e,height:n,aLeft:i,width:o,angle:a=0,drawingOrigin:l}=r,{layoutType:u,distT:c=0,distB:D=0}=l;if(u!==_.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(a===0){const C=e-c,m=n+D;return C+m<t||C>s+t?void 0:C+n}let{top:f=0,height:p=0}=J4(a,i,o,e,n);if(f-=c,p+=D,!(f+p<t||f>s+t))return f+p}function O_(r,s,t,e,n,i,o,a){const l=[];return l.push({left:0,width:e},{left:t-n,width:n}),o==null||o.forEach((u,c)=>{const D=f6(u,r,s,t);D&&l.push(D)}),a==null||a.forEach((u,c)=>{const D=f6(u,r,s,t);D&&l.push(D)}),i==null||i.forEach((u,c)=>{const D=f6(u,r,s,t);D&&l.push(D)}),I_(t,l)}function w_(r,s){r.isFull=s}function f6(r,s,t,e){const{aTop:n,height:i,aLeft:o,width:a,angle:l=0,drawingOrigin:u}=r,{layoutType:c}=u;if(c===_.PositionedObjectLayoutType.WRAP_NONE||c===_.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(c===_.PositionedObjectLayoutType.WRAP_POLYGON){const{start:f=[0,0],lineTo:p}=u;if(!p)return;const C=[];C.push(new x(f[0],f[1]));for(let m=0;m<p.length;m++){const F=p[m];C.push(new x(F[0],F[1]))}if(l!==0){const m=new i1().rotate(l);for(let F=0;F<C.length;F++){const b=C[F];C[F]=m.applyPoint(b)}}return I7(C,t,s,e)}if(l===0)return x7(n,i,o,a,t,s,e,u);const D=J4(l,o,a,n,i);if(c===_.PositionedObjectLayoutType.WRAP_SQUARE){const{left:f,width:p,top:C,height:m}=D;return x7(C,m,f,p,t,s,e,u)}return I7(D.points,t,s,e)}function J4(r,s,t,e,n){const i=new i1().rotate(r),o=new x(s,e),a=new x(s,e+n),l=new x(s+t,e),u=new x(s+t,e+n);return i.makeBoundingBoxFromPoints([o,a,l,u])}function I7(r,s,t,e){const n=new S4(r),i=n.intersection([new x(0,s),new x(e,s)]),o=n.intersection([new x(0,s+t),new x(e,s+t)]);if(!i&&!o)return;const a=A_([...r,...i||[],...o||[]]);return{left:a.min,width:a.max}}function A_(r,s=0){const t=[];for(let e=0;e<r.length;e++){const n=r[e];s===0?t.push(n.x):t.push(n.y)}return{max:Math.max(...t),min:Math.min(...t)}}function x7(r,s,t,e,n,i,o,a){const{layoutType:l,wrapText:u=_.WrapTextType.BOTH_SIDES,distL:c=0,distR:D=0,distT:f=0,distB:p=0}=a,C=r-(l===_.PositionedObjectLayoutType.WRAP_SQUARE?f:0),m=s+(l===_.PositionedObjectLayoutType.WRAP_SQUARE?p:0);if(C+m<n||C>i+n)return;let F=t-c,b=e+D;const S=R_(u,F,b,o);return S===1?b=o-F:S===2&&(F=0,b=t+e+D),{left:F,width:b}}function R_(r,s,t,e){let n=0;return r===_.WrapTextType.LEFT?n=1:r===_.WrapTextType.RIGHT?n=2:r===_.WrapTextType.LARGEST&&(s>e-s-t?n=1:n=2),n}function I_(r,s){s.sort((i,o)=>i.left>o.left?1:-1);const t=[];let e=0;const n=s.length;for(let i=0;i<n;i++){const o=s[i],{left:a,width:l}=o;if(a>e){let u=a-e;u=u<r?u:r-e;const c=P7(e,u);t.push(c)}if(e=Math.max(a+l,e),i===n-1&&a+l<r){const u=P7(a+l,r-a-l);t.push(u)}}return t}function P7(r,s){return{glyphGroup:[],width:s,left:r,paddingLeft:0,isFull:!1,st:0,ed:0}}function x_(r,s){return{paragraphIndex:s,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 P_(r,s,t,e){if(e)if(e.has(r)){const n=e.get(r);n==null||n.elements.push(s)}else e.set(r,{elements:[s],paragraphIndex:r,top:t})}function M_(r,s,t,e,n=!1){if(n)if(e.bulletSkeleton){const{bulletSkeleton:i,paragraphStyle:o={}}=e,{gridType:a=_.GridType.LINES,charSpace:l=0,defaultTabStop:u=1}=t,{snapToGrid:c=_.BooleanNumber.TRUE}=o,D=Q2(l,u,a,c),f=d_(r[0],i,D);W1([f,...r],s,t,e,n)}else W1(r,s,t,e,n);else j2(r,s,t,e,n);return[...s]}function j2(r,s,t,e,n=!1,i){var l;const o=r2(s),a=fD(o);if(a){const u=M7(r),{divide:c}=a,D=(l=c==null?void 0:c.glyphGroup)==null?void 0:l[c.glyphGroup.length-1],f=(D==null?void 0:D.width)||0,p=(D==null?void 0:D.left)||0,C=f+p;if(C+u>c.width)if(w_(c,!0),a.isLast&&r.length===1&&(r[0].content===_.DataStreamTreeTokenType.SPACE||r[0].content===_.DataStreamTreeTokenType.PARAGRAPH))_6(c,r,C);else if((c==null?void 0:c.glyphGroup.length)===0){const m=[];for(;r.length;)if(m.push(r.shift()),M7(m)>c.width){m.length>1&&r.unshift(m.pop());break}_6(c,m,C),r.length&&W1(r,s,t,e,n,i)}else W1(r,s,t,e,n,i);else{const m=c.parent,F=H_(r);if(m&&F&&!Y_(m)){const{paragraphLineGapDefault:b,linePitch:S,lineSpacing:T,spacingRule:y,snapToGrid:v,gridType:B}=x4(t,e),{boundingBoxAscent:w,boundingBoxDescent:O}=F,A=w+O,{contentHeight:I}=Q4(A,b,S,B,T,y,v);if(m.contentHeight<I){const R=X_(m),L=R.length;let N=[],$=1;L>2&&R[0].glyphType===m1.LIST?(N=[R[0],R[1]],$=2):N=[R[0]];const M=m.parent,{paragraphStart:X}=M==null?void 0:M.lines.pop();W1(N,s,t,e,X,w+O);for(let H=$;H<R.length;H++)j2([R[H]],s,t,e,n);j2(r,s,t,e,n);return}}_6(c,r,C)}}else W1(r,s,t,e,n,i)}function W1(r,s,t,e,n=!1,i){var I1,H1,J1,O1,Z1;let o=r2(s),a=W2(o);if((!a||!a.column)&&(q4(r,s,t,e),o=r2(s),a=W2(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=dD(l),c=Math.max(...r.map(x1=>x1.bBox.ba)),D=Math.max(...r.map(x1=>x1.bBox.bd)),f=i||c+D,{paragraphStyle:p={},paragraphAffectSkeDrawings:C,skeHeaders:m,skeFooters:F,drawingAnchor:b,paragraphIndex:S}=e,{spaceAbove:T=0,spaceBelow:y=0,indentFirstLine:v=0,hanging:B=0,indentStart:w=0,indentEnd:O=0}=p,{paragraphLineGapDefault:A,linePitch:I,lineSpacing:R,spacingRule:L,snapToGrid:N,gridType:$}=x4(t,e),{paddingTop:M,paddingBottom:X,contentHeight:H,lineSpacingApply:j}=Q4(f,A,I,$,R,L,N),{marginTop:W,spaceBelowApply:U}=$_(j,T,y,n,u),J=W+M+H+X;let K=l.parent;K||(K=s7(o));const e1=(u==null?void 0:u.lineHeight)||0,D1=(u==null?void 0:u.top)||0,a1=e1+D1,{pageWidth:Q,headerId:V,footerId:u1}=o,q=(H1=(I1=m==null?void 0:m.get(V))==null?void 0:I1.get(Q))==null?void 0:H1.skeDrawings,n1=(O1=(J1=F==null?void 0:F.get(u1))==null?void 0:J1.get(Q))==null?void 0:O1.skeDrawings;N_(a1,J,l,(Z1=b==null?void 0:b.get(S))==null?void 0:Z1.top,C);const r1=B_(J,a1,o.skeDrawings,q,n1);if(J+r1>K.height&&l.lines.length>0&&o.sections.length>0){M4(l,!0),Z4(r,s,t,e,n,i);return}const f1=u?u.lineIndex+1:0,{charSpace:F1,defaultTabStop:_1}=pD(t,e),B1=Q2(F1,_1,$,N),{paddingLeft:k1,paddingRight:K1}=L_(v,B,w,O,B1,n),c1=v_(S,A2.PARAGRAPH,{lineHeight:J,contentHeight:H,lineTop:r1,paddingLeft:k1,paddingRight:K1,paddingTop:M,paddingBottom:X,marginTop:W,spaceBelowApply:U},l.width,f1,n,o.skeDrawings,q,n1);l.lines.push(c1),c1.parent=l,P_(S,c1,a1,b),j2(r,s,t,e,n,i)}function Z4(r,s,t,e,n=!1,i){const o=r2(s);gD(o)===!0?q4(r,s,t,e,n,i):W1(r,s,t,e,n,i)}function q4(r,s,t,e,n=!1,i){const o=r2(s),{skeHeaders:a,skeFooters:l}=e;s.push(B2(t,{skeHeaders:a,skeFooters:l},o==null?void 0:o.pageNumber)),Z4(r,s,t,e,n,i)}function L_(r=0,s=0,t=0,e=0,n,i=!1){const o=z1(r,n),a=z1(s,n),l=z1(t,n),u=z1(e,n);let c=l;const D=u;return o>0&&i&&(c+=o),a>0&&!i&&(c+=a),{paddingLeft:c,paddingRight:D}}function $_(r=0,s=0,t=0,e,n){let i=0,o=0;if(!e)return{marginTop:i,spaceBelowApply:o};if(i=z1(s,r),o=z1(t,r),n){const{spaceBelowApply:a}=n;a>i&&(i=0,n.lineHeight+=a,n.marginBottom=a)}return{marginTop:i,spaceBelowApply:o}}function Q4(r,s,t,e,n,i,o){let a=s,l=s;if(e===_.GridType.DEFAULT||o===_.BooleanNumber.FALSE)return i===_.SpacingRule.AUTO?{paddingTop:a,paddingBottom:l,contentHeight:n*r,lineSpacingApply:r}:{paddingTop:a,paddingBottom:l,contentHeight:Math.max(n,r),lineSpacingApply:n};let u=0;return i===_.SpacingRule.AUTO?u=n*t:u=n,r+s*2<u&&(a=l=(u-r)/2),{paddingTop:a,paddingBottom:l,contentHeight:r,lineSpacingApply:u}}function N_(r,s,t,e,n){var l;if(!n)return;const i=(l=t.parent)==null?void 0:l.parent;if(!i)return;const o=new Map,a=k_(t);n.forEach(u=>{if(!u)return;const{initialState:c,drawingOrigin:D}=u;if(c||!D)return;const{objectTransform:f}=D,{positionH:p,positionV:C,size:m,angle:F}=f,{width:b=0,height:S=0}=m;u.aLeft=CD(p,t,i,b,a)||0,u.aTop=ED(C,i,r,s,S,e,a)||0,u.width=b,u.height=S,u.angle=F,u.initialState=!0,o.set(u.objectId,u)}),i.skeDrawings=new Map([...i.skeDrawings,...o])}function k_(r){const s=r.parent;if(!s)return!1;const t=s==null?void 0:s.columns;if(!t)return!1;const e=t.length;for(let n=e-1;n>=0;n--){const o=t[n].lines,a=o.length;if(!(a<=0)){for(let l=a-1;l>=0;l--)if(o[l].paragraphStart)return!1}}return!0}function M7(r){const s=r.length;let t=0;for(let e=0;e<s;e++){const n=r[e];t+=n.width}return t}function H_(r){const s=r.length;let t=Number.NEGATIVE_INFINITY,e;for(let n=0;n<s;n++){const i=r[n],{ba:o,bd:a}=i.bBox;t<o+a&&(e={boundingBoxAscent:o,boundingBoxDescent:a}),t=o+a}return e}function X_(r){const s=r.divides,t=s.length,e=[];for(let n=0;n<t;n++){const i=s[n];e.push(...i.glyphGroup)}return e}function Y_(r){return!r.divides[0].glyphGroup[0]}function z_(r,s,t,e,n){return[]}function W_(r,s,t){return j_(r,s,t)}function j_(r,s,t){return t===_.GlyphType.DECIMAL?L7(r,s):t===_.GlyphType.ZERO_DECIMAL?G_(r,s):t===_.GlyphType.UPPER_ALPHA?U_(r,s):t===_.GlyphType.ALPHA?V_(r,s):t===_.GlyphType.UPPER_ROMAN?K_(r,s):t===_.GlyphType.ROMAN?J_(r,s):L7(r,s)}function L7(r,s){return(r+s).toString()}function G_(r,s){const t=r+s;return t<10?`0${t}`:t.toString()}function U_(r,s){return _.numberToListABC(r+s-1,!0)}function V_(r,s){return _.numberToListABC(r+s-1,!1)}function K_(r,s){return tt(r+s,!0)}function J_(r,s){return tt(r+s,!1)}function tt(r,s=!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 n={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};s&&(n=t);let i="";for(const o in n)for(;r>=n[o];)i+=o,r-=n[o];return i}function Z_(r,s,t,e){var D,f;if(!r||!s)return;const{listId:n,listType:i,nestingLevel:o=0,textStyle:a}=r,l=s[i];return!l||!l.nestingLevel?$7(n,(D=t==null?void 0:t[o])==null?void 0:D.startIndexItem):l.nestingLevel[o]?q_(n,o,l.nestingLevel,t,a):$7(n,(f=t==null?void 0:t[o])==null?void 0:f.startIndexItem)}function $7(r,s=1){return{listId:r,symbol:"●",ts:{ff:"Arial",fs:9},startIndexItem:s,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 q_(r,s,t,e,n,i){var v,B;const o=t[s],{bulletAlignment:a,glyphFormat:l,textStyle:u,startNumber:c,glyphType:D,glyphSymbol:f,indentFirstLine:p,hanging:C,indentStart:m}=o,F={...n,...u},b=C2(F);let S;f?S=f:S=Q_(l,s,t,e);const T=P1.getTextSize(S,b),y=(B=(v=e==null?void 0:e[s])==null?void 0:v.startIndexItem)!=null?B:1;return{listId:r,symbol:S,ts:F,fontStyle:b,startIndexItem:y+1,bBox:T,nestingLevel:o,bulletAlign:a,bulletType:f?!1:!!D,indentFirstLine:p,hanging:C,indentStart:m}}function Q_(r,s,t,e){var a;const n=r.split("%"),o=[n[0]];for(let l=1;l<n.length;l++){const u=n[l],{level:c,suffix:D}=ed(u);let f=((a=e==null?void 0:e[c])==null?void 0:a.startIndexItem)||1;c!==s&&(e==null?void 0:e[c])!==null&&(f-=1);const p=td(f,t[c]);o.push(p,D)}return o.join("")}function td(r=1,s){const{startNumber:t,glyphType:e,glyphSymbol:n}=s;return n||(e?W_(r,t,e):"●")}function ed(r){if(r==="")return{level:0,suffix:""};const s=r.split("");let t="",e="",n=!1;const i=/[0-9]/g;return s.forEach(o=>{!n&&i.test(`${t}${o}`)?t+=o:(n=!0,e+=o)}),{level:Number.parseInt(t)-1,suffix:e}}function sd(r,s){if(!r||!s)return;const{listId:t,nestingLevel:e}=r,n=s==null?void 0:s.get(t);let i=e;i<0&&(i=0);const o=[];for(let a=i;a>=0;a--){const l=n==null?void 0:n[a];o[a]=l||null}return o}function nd(r,s,t){if(!r||!s)return;const{listId:e,nestingLevel:n}=r,i=[...(t==null?void 0:t.get(e))||[]];i[n]=s,i.splice(n+1),t==null||t.set(e,i)}function id(r){return{objectId:r.objectId,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin:r}}function N7(r){return r.pageNumber+1}function rd(r,s,t,e,n,i){const{lists:o,drawings:a={},localeService:l}=n,{endIndex:u,startIndex:c,blocks:D=[]}=e,f=t.getParagraph(u)||{startIndex:0},{paragraphStyle:p={},bullet:C}=f,{skeHeaders:m,skeFooters:F,skeListLevel:b,drawingAnchor:S}=i,T=new Map,y={paragraphIndex:u,paragraphStyle:p,paragraphAffectSkeDrawings:T,skeHeaders:m,skeFooters:F,drawingAnchor:S},v=sd(C,b),B=Z_(C,o,v);nd(C,B,b),y.bulletSkeleton=B;const w=new Map;for(let R=0,L=D.length;R<L;R++){const N=D[R],$=t.getCustomBlock(N);if($==null)continue;w.set(N,$);const M=$.blockId,X=a[M];X.layoutType!==_.PositionedObjectLayoutType.INLINE&&T.set(M,id(X))}let O=[s],A=!0,I=c;for(const{text:R,glyphs:L}of r){I+=R.length;const N=()=>{L.length!==0&&(O=M_(L,O,n,y,A),A=!1)};if(R.endsWith(_.DataStreamTreeTokenType.CUSTOM_BLOCK)){let $=w.get(I);if($==null&&($=t.getCustomBlock(I)),$!=null){const M=$.blockId;a[M].layoutType===_.PositionedObjectLayoutType.INLINE&&(O=z_())}N();continue}else if(R.endsWith(_.DataStreamTreeTokenType.PAGE_BREAK)){N(),O.push(B2(n,i,N7(O[O.length-1]),i2.PAGE)),T.clear();continue}else if(R.endsWith(_.DataStreamTreeTokenType.COLUMN_BREAK)){N();const $=O[O.length-1],M=W2($);M&&!M.isLast?M4(M.column,!0):O.push(B2(n,i,N7($),i2.COLUMN));continue}N()}return O}function od(r){switch(r){case"–":case"—":return .2;case".":case",":return .8;case":":case";":return .3;case"،":case"۔":return .4;default:return 0}}function ad(r){const{glyphGroup:s}=r;let t=0;for(const e of s){const[n,i]=e.adjustability.shrinkability;t+=n+i}return t}function ud(r){const{glyphGroup:s}=r;let t=0;for(const e of s){const[n,i]=e.adjustability.stretchability;t+=n+i}return t}function ld(r){const s=r.glyphGroup.filter(e=>e.isJustifiable).length,t=r.glyphGroup[r.glyphGroup.length-1];return O2(t.content)?s-1:s}function cd(r,s,t){for(const e of r.glyphGroup){const n=s<0?e.adjustability.shrinkability[0]:e.adjustability.stretchability[0],i=s<0?e.adjustability.shrinkability[1]:e.adjustability.stretchability[1],o=n*s;let a=i*s;e.isJustifiable&&(a+=t),e.width+=o+a,e.xOffset+=o}U4(r.glyphGroup)}function hd(r,s){const{divides:t}=r;for(let e=0;e<t.length;e++){const n=t[e],{width:i}=n;let o=E7(n);if(i!==Number.POSITIVE_INFINITY){if(n.isFull){let a=i-o;if(n.glyphGroup.length>1){const f=n.glyphGroup[n.glyphGroup.length-1],p=od(f.content)*f.width;a+=p}let l=0,u=0;const c=ad(n),D=ud(n);if(a<0&&c>0)l=Math.max(a/c,-1),a=Math.min(a+c,0);else if(s===_.HorizontalAlign.JUSTIFIED){D>0&&(l=Math.min(a/D,1),a=Math.max(a-D,0));const f=ld(n);f>0&&a>0&&(u=a/f,a=0)}(l!==0||u!==0)&&(cd(n,l,u),o=E7(n))}s===_.HorizontalAlign.CENTER?n.paddingLeft=(i-o)/2:s===_.HorizontalAlign.RIGHT&&(n.paddingLeft=i-o)}}}function Dd(r){for(const s of r.divides){const t=s.glyphGroup[s.glyphGroup.length-1];if(s.isFull&&E2(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 _d(r){for(const s of r.divides){const t=s.glyphGroup.length;if(t<2)continue;const e=s.glyphGroup[0],n=s.glyphGroup[t-1];if(q2(e.content)){const i=e.adjustability.shrinkability[0];K4(e,i)}if(Z2(n.content)){const i=n.adjustability.shrinkability[1];V4(n,i)}}}function dd(r,s){mD(r,t=>{if(t.paragraphIndex!==s.startIndex)return;const{paragraphStyle:e={}}=s,{horizontalAlign:n=_.HorizontalAlign.UNSPECIFIED}=e;_d(t),Dd(t),hd(t,n)})}function fd(r,s,t,e,n){bD();const{endIndex:i,content:o=""}=s,a=r.getParagraph(i)||{startIndex:0},{paragraphStyle:l={}}=a,u=b_(o,r,s,e,l),c=rd(u,t,r,s,e,n);return dd(c,a),c}function et(r,s,t,e,n,i){const o=[],a=new Map;for(const l of s.children){let u=[],c=t;o.length>0&&(c=o[o.length-1]),l.nodeType===_.DataStreamTreeNodeType.PARAGRAPH?u=fd(r,l,c,e,n):(l.nodeType,_.DataStreamTreeNodeType.TABLE),u.length===0&&(u=BD()),gd(o,u)}return{pages:o,renderedBlockIdMap:a}}function gd(r,s){const t=r.length-1,e=r[t],n=s[0];e===n&&s.splice(0,1),r.push(...s)}const pd={columnProperties:[],columnSeparatorType:_.ColumnSeparatorType.NONE,sectionType:_.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0};class o2 extends exports.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 o2(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,n=0;return t==null||t.pages.forEach(i=>{const{width:o,height:a}=i;e=Math.max(e,o),n+=a}),{actualWidth:e,actualHeight:n}}_getPageActualWidth(t){let e=Number.NEGATIVE_INFINITY;for(const n of t.sections)for(const i of n.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,n=e==null?void 0:e.parent,i=n==null?void 0:n.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=n.divides.indexOf(e),D=i.lines.indexOf(n),f=o.columns.indexOf(i),p=a.sections.indexOf(o),C=l.pages.indexOf(a);return{glyph:u,divide:c,line:D,column:f,section:p,page:C}}findNodePositionByCharIndex(t,e=!0){const n=this._findNodeIterator(t);if(n==null)return;const i=this.getSkeletonData();if(!i)return;const o=i.pages,{glyph:a,divide:l,line:u,column:c,section:D,page:f}=n;return{glyph:l.glyphGroup.indexOf(a),divide:u.divides.indexOf(l),line:c.lines.indexOf(u),column:D.columns.indexOf(c),section:f.sections.indexOf(D),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:n,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 D=e.pages[l].sections[a].columns[o].lines[i].divides[n].glyphGroup;return D[c].glyphType===m1.LIST?D[c+1]:D[c]}findNodeByCoord(t,e,n,i){const{x:o,y:a}=t;this._findLiquid.reset();const l=this.getSkeletonData();if(l==null)return;const u=l.pages;let c=[],D=[],f=Number.POSITIVE_INFINITY;for(let p=0,C=u.length;p<C;p++){const m=u[p];this._findLiquid.translatePagePadding(m);const F=m.sections;for(const b of F){const{columns:S,height:T}=b;this._findLiquid.translateSection(b);for(const y of S){const{lines:v,width:B}=y;this._findLiquid.translateColumn(y);const w=v.length;for(let O=0;O<w;O++){const A=v[O],{divides:I,type:R,lineHeight:L=0}=A;if(R!==A2.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(A);const{y:N}=this._findLiquid,$=N,M=N+L,X=Math.abs(a-M),H=I.length;for(let j=0;j<H;j++){const W=I[j],{glyphGroup:U,width:J}=W;this._findLiquid.translateSave(),this._findLiquid.translateDivide(W);const{x:K}=this._findLiquid;for(const e1 of U){if(!e1.content||e1.content.length===0)continue;const{width:D1,left:a1}=e1,Q=K+a1,V=K+a1+D1,u1=Math.abs(o-V);if(a>=$&&a<=M){if(o>=Q&&o<=V)return{node:e1,ratioX:o/(Q+V),ratioY:a/($+M)};f!==Number.NEGATIVE_INFINITY&&(c=[],D=[]),c.push({node:e1,ratioX:o/(Q+V),ratioY:a/($+M)}),D.push(u1),f=Number.NEGATIVE_INFINITY;continue}X<f&&(f=X,c=[],D=[]),X===f&&(c.push({node:e1,ratioX:o/(Q+V),ratioY:a/($+M)}),D.push(u1))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}}}this._findLiquid.restorePagePadding(m),this._translatePage(m,e,n,i)}return this._getNearestNode(c,D)}_getNearestNode(t,e){const n=Math.min(...e),i=e.indexOf(n);return t[i]}_getPageBoundingBox(t,e){const{pageWidth:n,pageHeight:i}=t,{x:o,y:a}=this._findLiquid;let l=-1,u=-1;return e===v1.VERTICAL?(l=n,u=a+i):e===v1.HORIZONTAL&&(l=o+n,u=i),{startX:o,startY:a,endX:l,endY:u}}_translatePage(t,e,n,i){this._findLiquid.translatePage(t,e,n,i)}_createSkeleton(t){var u1;const e={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},n=this.getViewModel(),{headerTreeMap:i,footerTreeMap:o}=n,{documentStyle:a,drawings:l,lists:u={}}=n.getDataModel(),c={..._.PRESET_LIST_TYPE,...u},{pageNumberStart:D=1,pageSize:f=e,pageOrient:p=_.PageOrientType.PORTRAIT,defaultHeaderId:C,defaultFooterId:m,evenPageHeaderId:F,evenPageFooterId:b,firstPageHeaderId:S,firstPageFooterId:T,useFirstPageHeaderFooter:y,useEvenPageHeaderFooter:v,marginTop:B=0,marginBottom:w=0,marginRight:O=0,marginLeft:A=0,marginHeader:I=0,marginFooter:R=0,charSpace:L=0,linePitch:N=15.6,gridType:$=_.GridType.LINES,paragraphLineGapDefault:M=0,defaultTabStop:X=10.5,textStyle:H={},renderConfig:j={horizontalAlign:_.HorizontalAlign.LEFT,verticalAlign:_.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:_.WrapStrategy.UNSPECIFIED}}=a,W={headerTreeMap:i,footerTreeMap:o,lists:c,drawings:l,charSpace:L,linePitch:N,gridType:$,localeService:this._localService,paragraphLineGapDefault:M,defaultTabStop:X,documentTextStyle:H},U=this._getNullSke(),{skeHeaders:J,skeFooters:K,skeListLevel:e1,drawingAnchor:D1}=U,a1={skeHeaders:J,skeFooters:K,skeListLevel:e1,drawingAnchor:D1},Q=[];U.pages=Q;const V=this.getViewModel();V.resetCache();for(let q=0,n1=V.children.length;q<n1;q++){const r1=V.children[q],f1=V.getSectionBreak(r1.endIndex)||pd,{pageNumberStart:F1=D,pageSize:_1=f,pageOrient:B1=p,marginTop:k1=B,marginBottom:K1=w,marginRight:c1=O,marginLeft:I1=A,marginHeader:H1=I,marginFooter:J1=R,defaultHeaderId:O1=C,defaultFooterId:Z1=m,evenPageHeaderId:x1=F,evenPageFooterId:x2=b,firstPageHeaderId:n6=S,firstPageFooterId:i6=T,useFirstPageHeaderFooter:c2=y,useEvenPageHeaderFooter:h2=v,columnProperties:D2=[],columnSeparatorType:P2=_.ColumnSeparatorType.NONE,contentDirection:r6,sectionType:q1,textDirection:Bt,renderConfig:Ot=j}=f1,o6=V.children[q+1],D7=(u1=V.getSectionBreak(o6==null?void 0:o6.endIndex))==null?void 0:u1.sectionType,wt={defaultHeaderId:O1,evenPageHeaderId:x1,firstPageHeaderId:n6},At={defaultFooterId:Z1,evenPageFooterId:x2,firstPageFooterId:i6};_1.width===null&&(_1.width=Number.POSITIVE_INFINITY),_1.height===null&&(_1.height=Number.POSITIVE_INFINITY);const _7={pageNumberStart:F1,pageSize:_1,pageOrient:B1,marginTop:k1,marginBottom:K1,marginRight:c1,marginLeft:I1,marginHeader:H1,marginFooter:J1,headerIds:wt,footerIds:At,useFirstPageHeaderFooter:c2,useEvenPageHeaderFooter:h2,columnProperties:D2,columnSeparatorType:P2,contentDirection:r6,sectionType:q1,sectionTypeNext:D7,textDirection:Bt,renderConfig:Ot,...W};let Q1=r2(Q),d7=!1;q1===_.SectionType.CONTINUOUS?(S6(Q),this._addNewSectionByContinuous(Q1,D2,P2),d7=!0):Q1=B2(_7,a1,Q1==null?void 0:Q1.pageNumber);const Rt=et(V,r1,Q1,_7,a1,this._renderedBlockIdMap);D7===_.SectionType.CONTINUOUS&&D2.length>0;const{pages:f7}=Rt;d7&&f7.splice(0,1),Q.push(...f7)}return S6(Q),this._setPageParent(Q,U),U}_setPageParent(t,e){for(const n of t)n.parent=e}_addNewSectionByContinuous(t,e,n){const i=t.sections,o=i[i.length-1],{pageWidth:a,pageHeight:l,marginTop:u,marginBottom:c,marginLeft:D,marginRight:f}=t,p=a-D-f,C=l-u-c,m=((o==null?void 0:o.top)||0)+((o==null?void 0:o.height)||0),F=P4(e,n,m,0,p,C-m);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 n=e.pages;for(const i of n){const{sections:o,st:a,ed:l}=i;if(!(t<a||t>l))for(const u of o){const{columns:c,st:D,ed:f}=u;if(!(t<D||t>f))for(const p of c){const{lines:C,st:m,ed:F}=p;if(!(t<m||t>F))for(const b of C){const{divides:S,st:T,ed:y}=b,v=S.length;if(!(t<T||t>y))for(let B=0;B<v;B++){const w=S[B],{glyphGroup:O,st:A,ed:I}=w;if(t<A||t>I)continue;let R=t-A;for(const L of O)if(R-=L.count,R<0)return{page:i,section:u,column:p,line:b,divide:w,glyph:L}}}}}}}}class w1{constructor(s,t){h(this,"children",[]);h(this,"parent");h(this,"startIndex",-1);h(this,"endIndex",-1);h(this,"blocks",[]);this.nodeType=s,this.content=t}static create(s,t){return new w1(s,t)}dispose(){this.children.forEach(s=>{s.dispose()}),this.parent=null,this.blocks=[]}getProps(){const{children:s,parent:t,startIndex:e,endIndex:n,nodeType:i,content:o}=this;return{children:s,parent:t,startIndex:e,endIndex:n,nodeType:i,content:o}}addBlocks(s){this.blocks=this.blocks.concat(s)}setIndexRange(s,t){this.startIndex=s,this.endIndex=t}insertText(s,t){this.content=_.insertTextToContent(this.content||"",t-this.startIndex,s)}exclude(s){const{startIndex:t,endIndex:e}=this;return s<t||s>e}plus(s){this.startIndex+=s,this.endIndex+=s,this._addIndexForBlock(s)}selfPlus(s,t){this.endIndex+=s,t==null&&(t=this.startIndex),this._addIndexForBlock(s,t)}split(s){const{children:t,parent:e,startIndex:n,nodeType:i,content:o=""}=this.getProps();if(this.exclude(s))return;const a=0,l=s-n,u=l,c=o.slice(a,l),D=w1.create(i,c);D.parent=e,D.setIndexRange(a,l-1);const f=o.slice(u),p=w1.create(i,f);p.parent=e,p.setIndexRange(u,u+f.length-1);const C=[],m=[];for(const F of t){const{startIndex:b}=F;if(F.exclude(s))s<b?C.push(F):m.push(F);else{const S=F.split(s);if(S==null){C.push(F);continue}const{firstNode:T,lastNode:y}=S;C.push(T),C.push(y)}}return D.children=C,p.children=m,D._resetBlocks(),p._resetBlocks(),{firstNode:D,lastNode:p}}getPositionInParent(){var t;const s=(t=this.parent)==null?void 0:t.children.indexOf(this);return s==null?-1:s}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(s,t){const e=_.horizontalLineSegmentsSubtraction(this.startIndex,this.endIndex,s,t);if(e.length===0)return;const n=this.startIndex;this.startIndex=e[0],this.endIndex=e[1],this.content!=null&&(this.content=_.deleteContent(this.content||"",s-n,t-n+1))}merge(s){const{startIndex:t,endIndex:e,children:n}=s;this.endIndex+=e-t+1,this.children.push(...n),this.content+=s.content||"",s.remove()}_addIndexForBlock(s,t=Number.NEGATIVE_INFINITY){for(let e=0,n=this.blocks.length;e<n;e++){const i=this.blocks[e];i>=t&&(this.blocks[e]=i+s)}}_resetBlocks(){if(this.nodeType===_.DataStreamTreeNodeType.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let s=0,t=this.content.length;s<t;s++)this.content[s]===_.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+s)}}}class M1{constructor(s){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=s,s.getBody()!=null&&(this.children=this._transformToTree(s.getBody().dataStream),this._buildHeaderFooterViewModel())}dispose(){this.children.forEach(s=>{s.dispose()})}selfPlus(s,t){}getPositionInParent(){return 0}getLastIndex(){return this.children[this.children.length-1].endIndex}getBody(){return this._documentDataModel.getBody()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(s){return s==null?this:this.headerTreeMap.has(s)?this.headerTreeMap.get(s):this.footerTreeMap.has(s)?this.footerTreeMap.get(s):this}reset(s){this._documentDataModel=s,this.children=this._transformToTree(s.getBody().dataStream),this._buildHeaderFooterViewModel()}insert(s,t=0){var o;const e=s.dataStream;let n=e.length;const i=this._getParagraphByIndex(this.children,t);if(i!=null)if(e[n-1]===_.DataStreamTreeTokenType.SECTION_BREAK){const a=new _.DocumentDataModel({body:s}),l=new M1(a);n-=1;const u=l.children;for(const p of u)this._forEachDown(p,C=>{C.plus(t)});const c=i.split(t);if(c==null)return;const{firstNode:D,lastNode:f}=c;(o=i.parent)==null||o.children.splice(i.getPositionInParent(),1,D,...u,f),this._forEachTop(i.parent,p=>{p.selfPlus(n,p.getPositionInParent());const C=p.children;let m=!1;for(const F of C)F===f&&(m=!0),m&&this._forEachDown(F,b=>{b.plus(n)})})}else n===1&&e[n-1]===_.DataStreamTreeTokenType.PARAGRAPH?this._insertParagraph(i,t):(i.insertText(e,t),i.selfPlus(n,t),this._forEachTop(i.parent,a=>{a.selfPlus(n,a.getPositionInParent());const l=a.children;let u=!1;for(const c of l)c.startIndex>t&&(u=!0),u&&this._forEachDown(c,D=>{D.plus(n)})}))}delete(s,t){const e=this.children;this._deleteTree(e,s,t)}getText(){const s=[];function t(e){e.content&&s.push(e.content),e.children.forEach(t)}return this.children.forEach(e=>t(e)),s.join("")}resetCache(){this._sectionBreakCurrentIndex=0,this._paragraphCurrentIndex=0,this._textRunCurrentIndex=0,this._customBlockCurrentIndex=0,this._tableBlockCurrentIndex=0,this._customRangeCurrentIndex=0}getSectionBreak(s){if(s==null)return;const t=this.getBody().sectionBreaks;if(t!=null)for(let e=this._sectionBreakCurrentIndex;e<t.length;e++){const n=t[e];if(n.startIndex===s)return this._sectionBreakCurrentIndex=e,n}}getParagraph(s){const t=this.getBody().paragraphs;if(t!=null)for(let e=this._paragraphCurrentIndex;e<t.length;e++){const n=t[e];if(n.startIndex===s)return this._paragraphCurrentIndex=e,n}}getTextRunRange(s=0,t){const e=this.getBody().textRuns;if(e==null)return[{st:s,ed:t}];const n=[];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<s){this._textRunCurrentIndex=a;continue}else n.push({st:u.st<s?s:u.st,ed:u.ed>t?t:u.ed,sId:u.sId,ts:u.ts}),this._textRunCurrentIndex=a}const i=n[0]||{st:t+1};i.st>s&&n.push({st:s,ed:i.st-1});const o=n[n.length-1]||{ed:s-1};return o.ed<t&&n.push({st:o.ed+1,ed:t}),n}getTextRun(s){const t=this.getBody().textRuns;if(t==null)return;const e=t[this._textRunCurrentIndex];if(e!=null){if(s>=e.st&&s<e.ed)return e;if(s<e.st)return}for(let n=this._textRunCurrentIndex,i=t.length;n<i;n++){const o=t[n];if(s>=o.st&&s<o.ed)return this._textRunCurrentIndex=n,o}}getCustomBlock(s){const t=this.getBody().customBlocks;if(t!=null)for(let e=this._customBlockCurrentIndex;e<t.length;e++){const n=t[e];if(n.startIndex===s)return this._customBlockCurrentIndex=e,n}}getTable(s){const t=this.getBody().tables;if(t!=null)for(let e=this._tableBlockCurrentIndex;e<t.length;e++){const n=t[e];if(n.startIndex===s)return this._tableBlockCurrentIndex=e,n}}getCustomRange(s){const t=this.getBody().customRanges;if(t!=null)for(let e=0,n=t.length;e<n;e++){const i=t[e];if(s>=i.startIndex&&s<=i.endIndex)return i}}_transformToTree(s){const t=s.length;let e="";const n=[];let i=[],o=[];for(let a=0;a<t;a++){const l=s[a];if(l===_.DataStreamTreeTokenType.PARAGRAPH){e+=_.DataStreamTreeTokenType.PARAGRAPH;const u=w1.create(_.DataStreamTreeNodeType.PARAGRAPH,e);u.setIndexRange(a-e.length+1,a),u.addBlocks(o),i.push(u),e="",o=[]}else if(l===_.DataStreamTreeTokenType.SECTION_BREAK){const u=w1.create(_.DataStreamTreeNodeType.SECTION_BREAK);this._batchParent(u,i);const c=i[i.length-1];c&&c.content&&(c.content+=_.DataStreamTreeTokenType.SECTION_BREAK),n.push(u),i=[]}else l===_.DataStreamTreeTokenType.TABLE_START?i.push(w1.create(_.DataStreamTreeNodeType.TABLE)):l===_.DataStreamTreeTokenType.TABLE_ROW_START?i.push(w1.create(_.DataStreamTreeNodeType.TABLE_ROW)):l===_.DataStreamTreeTokenType.TABLE_CELL_START?i.push(w1.create(_.DataStreamTreeNodeType.TABLE_CELL)):l===_.DataStreamTreeTokenType.TABLE_END?this._processPreviousNodesUntil(i,_.DataStreamTreeNodeType.TABLE):l===_.DataStreamTreeTokenType.TABLE_ROW_END?this._processPreviousNodesUntil(i,_.DataStreamTreeNodeType.TABLE_ROW):l===_.DataStreamTreeTokenType.TABLE_CELL_END?this._processPreviousNodesUntil(i,_.DataStreamTreeNodeType.TABLE_CELL):(l===_.DataStreamTreeTokenType.CUSTOM_BLOCK&&o.push(a),e+=l)}return n}_processPreviousNodesUntil(s,t){const e=[];let n=s.pop();for(;n&&n.nodeType!==t;)e.push(n),n=s.pop();const i=s[s.length-1];if(this._batchParent(i,e,_.DataStreamTreeNodeType.TABLE),t===_.DataStreamTreeNodeType.TABLE_CELL){const o=e[0],a=e[e.length];o.content=_.DataStreamTreeTokenType.TABLE_CELL_START+o.content||"",o.startIndex-=1,a.content+=_.DataStreamTreeTokenType.TABLE_CELL_END,a.endIndex+=1}else if(t===_.DataStreamTreeNodeType.TABLE_ROW){const o=e[0].children[0];let a=e[e.length];a=a.children[a.children.length-1],o.content=_.DataStreamTreeTokenType.TABLE_ROW_START+o.content||"",o.startIndex-=1,a.content+=_.DataStreamTreeTokenType.TABLE_ROW_END,a.endIndex+=1}else if(t===_.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=_.DataStreamTreeTokenType.TABLE_START+o.content||"",o.startIndex-=1,a.content+=_.DataStreamTreeTokenType.TABLE_END,a.endIndex+=1}}_batchParent(s,t,e=_.DataStreamTreeNodeType.SECTION_BREAK){for(const i of t)i.parent=s,s.children.push(i);const n=e===_.DataStreamTreeNodeType.SECTION_BREAK?0:1;s.setIndexRange(t[0].startIndex-n,t[t.length-1].endIndex+1)}_buildHeaderFooterViewModel(){const{headerModelMap:s,footerModelMap:t}=this._documentDataModel;for(const[e,n]of s)this.headerTreeMap.set(e,new M1(n));for(const[e,n]of t)this.footerTreeMap.set(e,new M1(n))}_getParagraphByIndex(s,t){for(const e of s){const{children:n}=e;if(!e.exclude(t))return e.nodeType===_.DataStreamTreeNodeType.PARAGRAPH?e:this._getParagraphByIndex(n,t)}return null}_forEachTop(s,t){let e=s;for(;e;)t(e),e=e.parent;t(this)}_forEachDown(s,t){t(s);const e=s.children;for(s of e)this._forEachDown(s,t)}_deleteTree(s,t,e){const n=t,i=t+e-1;let o=null,a=s.length,l=0;for(;l<a;){const u=s[l],{startIndex:c,endIndex:D,children:f}=u;if(this._deleteTree(f,t,e),n===i&&i===D){if(u.nodeType===_.DataStreamTreeNodeType.PARAGRAPH){const p=this._getNextNode(u);if(p==null){l++;continue}u.minus(n,i),u.merge(p),a--}}else if(n<=c&&i>=D){u.remove(),a--;continue}else if(c<=n&&D>=i)u.minus(n,i);else if(i>c&&i<D){if(u.minus(c,i),o!=null){o.merge(u),o=null,a--;continue}}else n>c&&n<D?(u.minus(n,D),o=u):c>i&&u.plus(-e);l++}}_getNextNode(s){var n;const t=s.getPositionInParent(),e=(n=s.parent)==null?void 0:n.children;return e==null?void 0:e[t+1]}_insertParagraph(s,t=0){var l;const e=s.startIndex,n=s.endIndex,i=s.split(t);if(i==null)return;const{firstNode:o,lastNode:a}=i;o.content+=_.DataStreamTreeTokenType.PARAGRAPH,o.selfPlus(1),o.plus(e),this._forEachDown(a,u=>{u.plus(e+1)}),(l=s.parent)==null||l.children.splice(s.getPositionInParent(),1,o,a),this._forEachTop(s.parent,u=>{u.selfPlus(1,u.getPositionInParent());const c=u.children;let D=!1;for(const f of c)f!==a&&(f.startIndex>=n+1&&(D=!0),D&&this._forEachDown(f,p=>{p.plus(1)}))})}}var md=Object.defineProperty,Fd=Object.getOwnPropertyDescriptor,Cd=(r,s,t,e)=>{for(var n=e>1?void 0:e?Fd(s,t):s,i=r.length-1,o;i>=0;i--)(o=r[i])&&(n=(e?o(s,t,n):o(n))||n);return e&&n&&md(s,t,n),n},k7=(r,s)=>(t,e)=>s(t,e,r);function p2(r,s=0){const t=r==null?void 0:r.getSkeletonData(),e=y1(s);if(!t)return;const{pages:n}=t,i=n[n.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=[];FD([i],f=>{const{lines:p,width:C,spaceWidth:m}=f,{rotatedHeight:F,rotatedWidth:b}=U6(p,C,e);u+=F,c.push({rotatedWidth:b,spaceWidth:m})});const D=c.length;for(let f=0;f<D;f++){const{rotatedWidth:p}=c[f];f===0&&(l+=p)}return{width:l,height:u}}const H7={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},X7={t:0,b:0,l:2,r:2},st="RENDER_RAW_FORMULA";exports.SpreadsheetSkeleton=class extends exports.Skeleton{constructor(t,e,n,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 _.ObjectMatrix);h(this,"_stylesCache",{background:{},backgroundPositions:new _.ObjectMatrix,font:{},border:new _.ObjectMatrix});h(this,"_renderedCellCache",new _.ObjectMatrix);h(this,"_showGridlines",_.BooleanNumber.TRUE);h(this,"_marginTop",0);h(this,"_marginLeft",0);h(this,"_renderRawFormula",!1);this._worksheet=t,this._config=e,this._cellData=n,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,n,i,o,a){return new exports.SpreadsheetSkeleton(t,e,n,i,o,a)}getCellData(){return this._cellData}getsStyles(){return this._styles}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(st).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(!_.Tools.isArray(t))return[];const e=[],{mergeData:n,rowData:i}=this._config,o=i;for(const l of t){const{startRow:u,endRow:c,startColumn:D,endColumn:f}=l;for(let p=u;p<=c;p++){if(e.some(({row:m})=>m===p)||((a=o[p])==null?void 0:a.ia)===_.BooleanNumber.FALSE)continue;if(h4(p,D,f,n)){const m=this._calculateRowAutoHeight(p);e.push({row:p,autoHeight:m})}}}return e}_calculateRowAutoHeight(t){var c,D,f;const{columnCount:e,columnData:n,mergeData:i,defaultRowHeight:o,defaultColumnWidth:a}=this._config;let l=o;const u=this._worksheet;if(!u)return l;for(let p=0;p<e;p++){const{isMerged:C,isMergedMainCell:m}=b2(t,p,i);if(C||m)continue;const F=u.getCell(t,p);if(F!=null&&F.interceptorAutoHeight){l=Math.max(l,F.interceptorAutoHeight);continue}const b=F&&this._getCellDocumentModel(F);if(b==null)continue;const{documentModel:S,textRotation:T,wrapStrategy:y}=b;if(S==null)continue;const v=new M1(S),{vertexAngle:B}=_2(T),w=(D=(c=n[p])==null?void 0:c.w)!=null?D:a;typeof w=="number"&&y===_.WrapStrategy.WRAP&&S.updateDocumentDataPageSize(w);const O=o2.create(v,this._localService);O.calculate();let{height:A=0}=(f=p2(O,B))!=null?f:{};if(O){const I=O.getSkeletonData(),{marginTop:R,marginBottom:L,marginLeft:N,marginRight:$}=I.pages[I.pages.length-1],M=Math.abs(y1(B));A+=R*Math.cos(M)+$*Math.sin(M)+L*Math.cos(M)+N*Math.sin(M)}l=Math.max(l,A)}return Math.min(l,q7)}_updateLayout(){if(!this.dirty)return;const{rowData:t,columnData:e,defaultRowHeight:n,defaultColumnWidth:i,rowCount:o,columnCount:a,rowHeader:l,columnHeader:u,showGridlines:c}=this._config,{rowTotalHeight:D,rowHeightAccumulation:f}=this._generateRowMatrixCache(o,t,n),{columnTotalWidth:p,columnWidthAccumulation:C}=this._generateColumnMatrixCache(a,e,i);return this._rowHeaderWidth=l.hidden!==_.BooleanNumber.TRUE?this._dynamicallyUpdateRowHeaderWidth(l):0,this._columnHeaderHeight=u.hidden!==_.BooleanNumber.TRUE?u.height:0,this._rowTotalHeight=D,this._rowHeightAccumulation=f,this._columnTotalWidth=p,this._columnWidthAccumulation=C,this._showGridlines=c,this.makeDirty(!1),this}_dynamicallyUpdateRowHeaderWidth(t){var i;const n=`${(i=this._worksheet)==null?void 0:i.getRowCount()}`.length*8;return Math.max(t.width,n)}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,n,i){const o=this._config.mergeData;if(!o)return{startRow:t,startColumn:e,endRow:n,endColumn:i};let a=!0;const l=new _.ObjectMatrix;for(;a;){a=!1;for(let u=0;u<o.length;u++){const{startRow:c,startColumn:D,endRow:f,endColumn:p}=o[u];if(l.getValue(c,D))continue;D4({left:e,top:t,right:i,bottom:n},{left:D,top:c,right:p,bottom:f})&&(t=Math.min(t,c),e=Math.min(e,D),n=Math.max(n,f),i=Math.max(i,p),l.setValue(c,D,!0),a=!0)}}return{startRow:t,startColumn:e,endRow:n,endColumn:i}}appendToOverflowCache(t,e,n,i){this._overflowCache.setValue(t,e,{startRow:t,endRow:t,startColumn:n,endColumn:i})}getColumnCount(){return this._columnWidthAccumulation.length}getRowCount(){return this._rowHeightAccumulation.length}getOverflowPosition(t,e,n,i,o){const{width:a}=t;let l=i,u=i;return e===_.HorizontalAlign.CENTER?(l=this._getOverflowBound(n,i,0,a/2,e),u=this._getOverflowBound(n,i,o-1,a/2,e)):e===_.HorizontalAlign.RIGHT?l=this._getOverflowBound(n,i,0,a):u=this._getOverflowBound(n,i,o-1,a),{startColumn:l,endColumn:u}}getNoMergeCellPositionByIndex(t,e){const{rowHeightAccumulation:n,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this;let{startY:l,endY:u,startX:c,endX:D}=Y1(t,e,n,i);return l+=a,u+=a,c+=o,D+=o,{startY:l,endY:u,startX:c,endX:D}}getNoMergeCellPositionByIndexWithNoHeader(t,e){const{rowHeightAccumulation:n,columnWidthAccumulation:i}=this,{startY:o,endY:a,startX:l,endX:u}=Y1(t,e,n,i);return{startY:o,endY:a,startX:l,endX:u}}calculateCellIndexByPosition(t,e,n,i,o){const{row:a,column:l}=this.getCellPositionByOffset(t,e,n,i,o);return this.getCellByIndex(a,l)}getCellPositionByOffset(t,e,n,i,o){const a=this.getRowPositionByOffsetY(e,i,o),l=this.getColumnPositionByOffsetX(t,n,o);return{row:a,column:l}}getColumnPositionByOffsetX(t,e,n){t=this.getTransformOffsetX(t,e,n);const{columnWidthAccumulation:i}=this;let o=_.searchArray(i,t);return o===Number.POSITIVE_INFINITY?o=i.length-1:o===-1&&(o=0),o}getRowPositionByOffsetY(t,e,n){const{rowHeightAccumulation:i}=this;t=this.getTransformOffsetY(t,e,n);let o=_.searchArray(i,t);return o===Number.POSITIVE_INFINITY?o=i.length-1:o===-1&&(o=0),o}getTransformOffsetX(t,e,n){const{x:i}=n;return t=t/e+i-this.rowHeaderWidthAndMarginLeft,t}getTransformOffsetY(t,e,n){const{y:i}=n;return t=t/e+i-this.columnHeaderHeightAndMarginTop,t}getOffsetByPositionX(t){const{columnWidthAccumulation:e,rowHeaderWidthAndMarginLeft:n}=this,i=e.length-1,o=e[t];return o!=null?o+n:t<0?n:e[i]+n}getOffsetByPositionY(t){const{rowHeightAccumulation:e,columnHeaderHeightAndMarginTop:n}=this,i=e.length-1,o=e[t];return o!=null?o+n:t<0?n:e[i]+n}getCellByIndex(t,e){const{rowHeightAccumulation:n,columnWidthAccumulation:i,rowHeaderWidthAndMarginLeft:o,columnHeaderHeightAndMarginTop:a}=this,l=s2(t,e,n,i,this._config.mergeData),{isMerged:u,isMergedMainCell:c}=l;let{startY:D,endY:f,startX:p,endX:C,mergeInfo:m}=l;return D+=a,f+=a,p+=o,C+=o,m=b6(m,o,a),{actualRow:t,actualColumn:e,startY:D,endY:f,startX:p,endX:C,isMerged:u,isMergedMainCell:c,mergeInfo:m}}getCellByIndexWithNoHeader(t,e){const{rowHeightAccumulation:n,columnWidthAccumulation:i}=this,o=s2(t,e,n,i,this._config.mergeData),{isMerged:a,isMergedMainCell:l}=o,{startY:u,endY:c,startX:D,endX:f,mergeInfo:p}=o,C=b6(p,0,0);return{actualRow:t,actualColumn:e,startY:u,endY:c,startX:D,endX:f,isMerged:a,isMergedMainCell:l,mergeInfo:C}}convertTransformToOffsetX(t,e,n){const{x:i}=n;return t=(t-i)*e,t}convertTransformToOffsetY(t,e,n){const{y:i}=n;return t=(t-i)*e,t}getSelectionBounding(t,e,n,i){return this.getMergeBounding(t,e,n,i)}getBlankCellDocumentModel(t){const e=this._getCellDocumentModel(t,{ignoreTextRotation:!0});if(e!=null)return e.documentModel==null&&(e.documentModel=this._getDocumentDataByStyle("",{},{})),e;const n="";let i="document";const o={a:0,v:_.BooleanNumber.FALSE},a=_.HorizontalAlign.UNSPECIFIED,l=_.VerticalAlign.UNSPECIFIED,u=_.WrapStrategy.UNSPECIFIED,c=X7;return i=C2({},this._localService).fontCache,{documentModel:this._getDocumentDataByStyle(n,{},{}),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=H7){var F;const{isDeepClone:n,displayRawFormula:i,ignoreTextRotation:o}={...H7,...e},a=this._styles.getStyleByCell(t);if(!t)return;let l,u="document";const c=this._getOtherStyle(a),D=o?{a:0,v:_.BooleanNumber.FALSE}:c.textRotation||{a:0,v:_.BooleanNumber.FALSE};let f=c.horizontalAlign||_.HorizontalAlign.UNSPECIFIED;const p=c.verticalAlign||_.VerticalAlign.UNSPECIFIED,C=c.wrapStrategy||_.WrapStrategy.UNSPECIFIED,m=c.paddingData||X7;if(t.f&&i)l=this._getDocumentDataByStyle(t.f.toString(),{},{verticalAlign:p}),f=_.HorizontalAlign.UNSPECIFIED;else if(t.p){const{centerAngle:b,vertexAngle:S}=_2(D);l=this._updateConfigAndGetDocumentModel(n?_.Tools.deepClone(t.p):t.p,f,{horizontalAlign:f,verticalAlign:p,centerAngle:b,vertexAngle:S,wrapStrategy:C})}else if(t.v!=null){const b=this._getFontFormat(a);u=C2(b,this._localService).fontCache,l=this._getDocumentDataByStyle(_.extractPureTextFromCell(t),b,{...c,textRotation:D,cellValueType:t.t})}return{documentModel:l,fontString:u,textRotation:D,wrapStrategy:C,verticalAlign:p,horizontalAlign:f,paddingData:m,fill:(F=a==null?void 0:a.bg)==null?void 0:F.rgb}}getDecomposedOffset(t,e){let n=_.searchArray(this._columnWidthAccumulation,t),i=0;n===-1||n===0?(n=0,i=t):i=t-this._columnWidthAccumulation[n-1];let o=_.searchArray(this._rowHeightAccumulation,e),a=0;return o===-1||o===0?(o=0,a=e):a=e-this._rowHeightAccumulation[o-1],{row:o,column:n,columnOffset:i,rowOffset:a}}_calculateOverflowCell(t,e,n){const{documentSkeleton:i,vertexAngle:o=0,centerAngle:a=0,horizontalAlign:l,wrapStrategy:u}=n,c=this._cellData.getValue(t,e),{t:D=_.CellValueType.STRING}=c||{};let f=l;if(l===_.HorizontalAlign.UNSPECIFIED&&(a===h1&&o===h1?f=_.HorizontalAlign.CENTER:(o>0&&o!==h1||o===-h1)&&(f=_.HorizontalAlign.RIGHT)),(u===_.WrapStrategy.OVERFLOW||u===_.WrapStrategy.UNSPECIFIED)&&D!==_.CellValueType.NUMBER&&D!==_.CellValueType.BOOLEAN&&l!==_.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(t,e))return!0;let p=p2(i,o);if(!p)return!0;if(o!==0){const{startY:b,endY:S,startX:T,endX:y}=s2(t,e,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),v=y-T,B=S-b;p.height>B&&(p={width:B/Math.tan(Math.abs(o))+v,height:B})}const C=this.getOverflowPosition(p,f,t,e,this.getColumnCount()),{startColumn:m,endColumn:F}=C;if(m===F)return!0;this.appendToOverflowCache(t,e,m,F)}else if(u===_.WrapStrategy.WRAP&&o!==0){if(this.intersectMergeRange(t,e))return!0;const{startY:p,endY:C}=s2(t,e,this.rowHeightAccumulation,this.columnWidthAccumulation,this.mergeData),m=C-p;i.getViewModel().getDataModel().updateDocumentDataPageSize(m),i.calculate();const F=p2(i,o);if(!F)return!0;const{startColumn:b,endColumn:S}=this.getOverflowPosition(F,f,t,e,this.getColumnCount());if(b===S)return!0;this.appendToOverflowCache(t,e,b,S)}}_getBounding(t,e,n){const i=t.length,o=e.length;if(!n)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(n.top)-this.columnHeaderHeightAndMarginTop),f=_.searchArray(t,Math.round(n.bottom)-this.columnHeaderHeightAndMarginTop);D===-1&&f===0?(a=-1,l=-1):(D===-1?a=0:a=D,f===Number.POSITIVE_INFINITY||f>=i?l=i-1:l=f);const p=_.searchArray(e,Math.round(n.left)-this.rowHeaderWidthAndMarginLeft),C=_.searchArray(e,Math.round(n.right)-this.rowHeaderWidthAndMarginLeft);return p===-1&&C===0?(u=-1,c=-1):(p===-1?u=0:u=p,C===Number.POSITIVE_INFINITY||C>=o?c=o-1:c=C),{startRow:a,endRow:l,startColumn:u,endColumn:c}}_generateRowMatrixCache(t,e,n){let i=0;const o=[],a=e;for(let l=0;l<t;l++){let u=n;if(a[l]!=null){const c=a[l];if(!c)continue;const{h:D=n,ah:f,ia:p}=c;(p==null||p===_.BooleanNumber.TRUE)&&typeof f=="number"?u=f:u=D,c.hd===_.BooleanNumber.TRUE&&(u=0)}i+=u,o.push(i)}return{rowTotalHeight:i,rowHeightAccumulation:o}}_generateColumnMatrixCache(t,e,n){let i=0;const o=[],a=e;for(let l=0;l<t;l++){let u=n;if(a[l]!=null){const c=a[l];if(!c)continue;c.w!=null&&(u=c.w),c.hd===_.BooleanNumber.TRUE&&(u=0)}i+=u,o.push(i)}return{columnTotalWidth:i,columnWidthAccumulation:o}}_getOverflowBound(t,e,n,i,o=_.HorizontalAlign.LEFT){var l,u;let a=0;if(e>n){const c=this._columnWidthAccumulation.length-1;for(let D=e;D>=n;D--){const f=D,p=(l=this._worksheet)==null?void 0:l.getCell(t,f);if(!_.isEmptyCell(p)&&f!==e||this.intersectMergeRange(t,f))return f===e?f:f+1>c?c:f+1;const{startX:C,endX:m}=Y1(t,f,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===_.HorizontalAlign.CENTER&&f===e?a+=(m-C)/2:a+=m-C,i<a)return f}return e}for(let c=e;c<=n;c++){const D=c,f=(u=this._worksheet)==null?void 0:u.getCell(t,D);if(!_.isEmptyCell(f)&&D!==e||this.intersectMergeRange(t,D))return D===e?D:D-1<0?0:D-1;const{startX:p,endX:C}=Y1(t,D,this.rowHeightAccumulation,this.columnWidthAccumulation);if(o===_.HorizontalAlign.CENTER&&D===e?a+=(C-p)/2:a+=C-p,i<a)return D}return n}intersectMergeRange(t,e){const n=this.dataMergeCache;for(const i of n){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,n=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<n.length;c++)this._setCellCache(u,c,!0)}}}_resetCache(){this._stylesCache={background:{},backgroundPositions:new _.ObjectMatrix,font:{},border:new _.ObjectMatrix},this._renderedCellCache=new _.ObjectMatrix,this._overflowCache.reset()}_makeDocumentSkeletonDirty(t,e){if(this._stylesCache.font==null)return;const n=Object.keys(this._stylesCache.font);for(const i of n){const o=this._stylesCache.font[i];if(o!=null&&o.getValue(t,e)){o.getValue(t,e).documentSkeleton.makeDirty(!0);return}}}_setCellCache(t,e,n,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}=b2(t,e,this._dataMergeCache);if(w&&!O)return!0;if(!O)return!0}const u=this._stylesCache,c=this._styles.getStyleByCell(a);if(!n&&c&&c.bg&&c.bg.rgb){const w=c.bg.rgb;u.background[w]||(u.background[w]=new _.ObjectMatrix),u.background[w].setValue(t,e,w);const A=this.getCellByIndexWithNoHeader(t,e);(B=u.backgroundPositions)==null||B.setValue(t,e,A)}if(!n&&c&&c.bd&&(i?(this._setMergeBorderProps(Y.TOP,u,i),this._setMergeBorderProps(Y.BOTTOM,u,i),this._setMergeBorderProps(Y.LEFT,u,i),this._setMergeBorderProps(Y.RIGHT,u,i)):this.intersectMergeRange(t,e)||(this._setBorderProps(t,e,Y.TOP,c,u),this._setBorderProps(t,e,Y.BOTTOM,c,u),this._setBorderProps(t,e,Y.LEFT,c,u),this._setBorderProps(t,e,Y.RIGHT,c,u)),this._setBorderProps(t,e,Y.TL_BR,c,u),this._setBorderProps(t,e,Y.TL_BC,c,u),this._setBorderProps(t,e,Y.TL_MR,c,u),this._setBorderProps(t,e,Y.BL_TR,c,u),this._setBorderProps(t,e,Y.ML_TR,c,u),this._setBorderProps(t,e,Y.BC_TR,c,u)),o===!0)return this._makeDocumentSkeletonDirty(t,e),!0;if(_.isNullCell(a))return;const D=a&&this._getCellDocumentModel(a,{displayRawFormula:this._renderRawFormula});if(D==null)return;const{documentModel:f}=D;if(f==null)return;const{fontString:p,textRotation:C,wrapStrategy:m,verticalAlign:F,horizontalAlign:b}=D,S=new M1(f);u.font[p]||(u.font[p]=new _.ObjectMatrix);const T=u.font[p],{vertexAngle:y,centerAngle:v}=_2(C);if(S){const w=o2.create(S,this._localService);w.calculate();const O={documentSkeleton:w,vertexAngle:y,centerAngle:v,verticalAlign:F,horizontalAlign:b,wrapStrategy:m};T.setValue(t,e,O),this._calculateOverflowCell(t,e,O)}n?this._renderedCellCache.setValue(t,e,!0):this._renderedCellCache.setValue(t,e,!1)}_updateConfigAndGetDocumentModel(t,e,n){var o;if(!n||!((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=n;const i=t.body.paragraphs||[];for(const a of i)a.paragraphStyle||(a.paragraphStyle={}),a.paragraphStyle.horizontalAlign=e;return new _.DocumentDataModel(t)}_getDocumentDataByStyle(t,e,n){const i=t.length,{textRotation:o,paddingData:a={t:2,r:2,b:0,l:2},horizontalAlign:l=_.HorizontalAlign.UNSPECIFIED,verticalAlign:u=_.VerticalAlign.UNSPECIFIED,wrapStrategy:c=_.WrapStrategy.UNSPECIFIED,cellValueType:D}=n,{t:f,r:p,b:C,l:m}=a||{},{vertexAngle:F,centerAngle:b}=_2(o),S={id:"d",body:{dataStream:`${t}${_.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:p,marginLeft:m,renderConfig:{horizontalAlign:l,verticalAlign:u,centerAngle:b,vertexAngle:F,wrapStrategy:c,cellValueType:D}}};return new _.DocumentDataModel(S)}_setMergeBorderProps(t,e,n){var D;if(!this._worksheet||!e.border)return;const i=[];let o=!0,a=n.startRow,l=n.endRow,u=n.startRow,c=n.startColumn;t===Y.TOP?(u=n.startRow,a=n.startColumn,l=n.endColumn):t===Y.BOTTOM?(u=n.endRow,a=n.startColumn,l=n.endColumn):t===Y.LEFT?(c=n.startColumn,a=n.startRow,l=n.endRow):t===Y.RIGHT&&(c=n.endColumn,a=n.startRow,l=n.endRow);for(let f=a;f<=l;f++){t===Y.TOP||t===Y.BOTTOM?c=f:(t===Y.LEFT||t===Y.RIGHT)&&(u=f);const p=this._worksheet.getCell(u,c);if(!p){o=!1;break}const C=this._styles.getStyleByCell(p);if(!C){o=!1;break}const m=(D=C.bd)==null?void 0:D[t];if(m){const F=_.getColorStyle(m.cl)||L1;i.push({r:u,c,style:m.s,color:F})}else o=!1}o&&i.forEach(f=>{const{r:p,c:C,style:m,color:F}=f;e.border.getValue(p,C)||e.border.setValue(p,C,{}),e.border.getValue(p,C)[t]={type:t,style:m,color:F}})}_setBorderProps(t,e,n,i,o){var c,D,f;const a=(c=i.bd)==null?void 0:c[n];if(!a||!o.border)return!0;const l=_.getColorStyle(a.cl)||L1,u=o.border;if(u.getValue(t,e)||u.setValue(t,e,{[n]:{}}),n===Y.TOP){if(((D=u.getValue(t-1,e))==null?void 0:D[Y.BOTTOM])&&_.isWhiteColor(l))return!0}else if(n===Y.LEFT&&((f=u.getValue(t,e-1))==null?void 0:f[Y.RIGHT])&&_.isWhiteColor(l))return!0;u.getValue(t,e)[n]={type:n,style:a.s,color:l}}_getFontFormat(t){if(!t)return{};const{ff:e,fs:n,it:i,bl:o,ul:a,st:l,ol:u,cl:c}=t,D={};return e&&(D.ff=e),n&&(D.fs=n),i&&(D.it=i),o&&(D.bl=o),a&&(D.ul=a),l&&(D.st=l),u&&(D.ol=u),c&&(D.cl=c),D}_getOtherStyle(t){if(!t)return{};const{tr:e,td:n,ht:i,vt:o,tb:a,pd:l}=t;return{textRotation:e,textDirection:n,horizontalAlign:i,verticalAlign:o,wrapStrategy:a,paddingData:l}}_getMergeCells(t,e){const n=this.columnWidthAccumulation.length-1;e?e={startRow:e.startRow,endRow:e.endRow,endColumn:n,startColumn:0}:e={startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:n};const{startRow:i,startColumn:o,endRow:a,endColumn:l}=e,u=[];for(let c=0;c<t.length;c++){const{startRow:D,endRow:f,startColumn:p,endColumn:C}=t[c];for(let m=i;m<=a;m++){let F=!1;for(let b=o;b<=l;b++)if(m>=D&&m<=f&&b>=p&&b<=C){u.push({startRow:D,endRow:f,startColumn:p,endColumn:C}),F=!0;break}if(F)break}}return u}};exports.SpreadsheetSkeleton=Cd([k7(4,G1.Inject(_.LocaleService)),k7(5,_.IContextService)],exports.SpreadsheetSkeleton);const Ed="DefaultFontExtension",bd=30;class nt extends N1{constructor(){super(...arguments);h(this,"uKey",Ed);h(this,"Z_INDEX",bd)}getDocuments(){const t=this.parent;return t==null?void 0:t.getDocuments()}draw(t,e,n,i){const{stylesCache:o,dataMergeCache:a,overflowCache:l,worksheet:u}=n,{font:c}=o;if(!n||!u)return;const{rowHeightAccumulation:D,columnTotalWidth:f,columnWidthAccumulation:p,rowTotalHeight:C}=n;if(!D||!p||f===void 0||C===void 0||!u)return;t.save();const m=this._getScale(e);c&&Object.keys(c).forEach(F=>{c[F].forValue((S,T,y)=>{var D1,a1,Q,V,u1;const v=this.getCellIndex(S,T,D,p,a);let{startY:B,endY:w,startX:O,endX:A}=v;const{isMerged:I,isMergedMainCell:R,mergeInfo:L}=v;if(I||(R&&(B=L.startY,w=L.endY,O=L.startX,A=L.endX),!this.isRenderDiffRangesByRow(L.startRow,L.endRow,i)))return!0;const N=u.getCell(S,T)||{};if((D1=N.fontRenderExtension)!=null&&D1.isSkip)return!0;const $=l.getValue(S,T),{horizontalAlign:M,vertexAngle:X=0,centerAngle:H=0}=y;let j=M;M===_.HorizontalAlign.UNSPECIFIED&&(H===h1&&X===h1?j=_.HorizontalAlign.CENTER:(X>0&&X!==h1||X===-h1)&&(j=_.HorizontalAlign.RIGHT)),t.save(),t.beginPath();const W=(Q=(a1=N.fontRenderExtension)==null?void 0:a1.rightOffset)!=null?Q:0,U=(u1=(V=N.fontRenderExtension)==null?void 0:V.leftOffset)!=null?u1:0;let J=!0;X===0&&(O=O+U,A=A-W,(W!==0||U!==0)&&(J=!1));const K=A-O,e1=w-B;if($&&J){const{startColumn:q,startRow:n1,endColumn:r1,endRow:f1}=$;q===r1&&q===T?(t.rectByPrecision(O+1/m,B+1/m,K-2/m,e1-2/m),t.clip(),t.clearRectForTexture(O+1/m,B+1/m,K-2/m,e1-2/m)):j===_.HorizontalAlign.CENTER?this._clipRectangle(t,n1,f1,q,r1,m,D,p):j===_.HorizontalAlign.RIGHT?this._clipRectangle(t,n1,S,q,T,m,D,p):this._clipRectangle(t,S,f1,T,r1,m,D,p)}else t.rectByPrecision(O+1/m,B+1/m,K-2/m,e1-2/m),t.clip(),t.clearRectForTexture(O+1/m,B+1/m,K-2/m,e1-2/m);t.translate(O,B),this._renderDocuments(t,y,O,B,A,w,S,T,l),t.restore()})}),t.restore()}_renderDocuments(t,e,n,i,o,a,l,u,c){const D=this.getDocuments();if(D==null)throw new Error("documents is null");const{documentSkeleton:f,vertexAngle:p=0,wrapStrategy:C}=e,m=o-n,F=a-i;C===_.WrapStrategy.WRAP&&p===0?(f.getViewModel().getDataModel().updateDocumentDataPageSize(m),f.calculate()):f.getViewModel().getDataModel().updateDocumentDataPageSize(Number.POSITIVE_INFINITY);const b=c.getValue(l,u);if(!(C===_.WrapStrategy.WRAP&&!b&&p===0)){const S=p2(f),T=f.getViewModel().getDataModel().getSnapshot().documentStyle;if(S&&T){const{width:y}=S,{marginRight:v=0,marginLeft:B=0}=T;f.getViewModel().getDataModel().updateDocumentDataPageSize(y+B+v),f.calculate()}}f.makeDirty(!1),D.resize(m,F),D.changeSkeleton(f).render(t)}_clipRectangle(t,e,n,i,o,a,l,u){const c=l[e-1]||0,D=l[n]||l[l.length-1],f=u[i-1]||0,p=u[o]||u[u.length-1];t.rectByPrecision(f,c,p-f,D-c),t.clip(),t.clearRectForTexture(f,c,p-f,D-c)}}U1.add(nt);const Sd="DefaultRowHeaderLayoutExtension";class it extends N1{constructor(){super(...arguments);h(this,"uKey",Sd);h(this,"Z_INDEX",10)}draw(t,e,n){const{rowColumnSegment:i,rowHeaderWidth:o=0,columnHeaderHeight:a=0}=n,{startRow:l,endRow:u,startColumn:c,endColumn:D}=i;if(!n)return;const{rowHeightAccumulation:f,columnTotalWidth:p,columnWidthAccumulation:C,rowTotalHeight:m}=n;if(!f||!C||p===void 0||m===void 0)return;const F=this._getScale(e);t.fillStyle=l1([248,249,250]),t.fillRectByPrecision(0,0,o,m),t.textAlign="center",t.textBaseline="middle",t.fillStyle=l1([0,0,0]),t.beginPath(),t.setLineWidthByPrecision(1),t.translateWithPrecisionRatio(o1,o1),t.strokeStyle=l1([217,217,217]),t.font=`13px ${K2}`;let b=0;const S=f.length;for(let y=l-1;y<=u;y++){if(y<0||y>S-1)continue;const v=f[y];if(b===v)continue;t.moveToByPrecision(0,v),t.lineToByPrecision(o,v);const B=b+(v-b)/2;t.fillText(`${y+1}`,o/2,B+P6),b=v}const T=o-.5/F;t.moveToByPrecision(T,0),t.lineToByPrecision(T,m),t.stroke()}}q6.add(new it);const Td="DefaultMarkerExtension",yd=60,vd=r=>{const{startRow:s,endRow:t,startColumn:e,endColumn:n}=r;return`${s}-${t}-${e}-${n}`};class rt extends N1{constructor(){super(...arguments);h(this,"Z_INDEX",yd);h(this,"uKey",Td)}draw(t,e,n,i){const{worksheet:o,rowColumnSegment:a}=n;if(!o)return;const l=new Set;_.Range.foreach(a,(u,c)=>{var y,v,B,w;let D=o.getCell(u,c);const f=this.getCellIndex(u,c,n.rowHeightAccumulation,n.columnWidthAccumulation,n.dataMergeCache),{isMerged:p,isMergedMainCell:C,mergeInfo:m}=f;let{startY:F,endY:b,startX:S,endX:T}=f;if((C||p)&&(F=m.startY,b=m.endY,S=m.startX,T=m.endX),p){const O={row:m.startRow,col:m.startColumn};D=o.getCell(O.row,O.col)}if(!this.isRenderDiffRangesByRow(m.startRow,m.endRow,i))return!0;if(f.isMerged||f.isMergedMainCell){const O=vd(m);if(l.has(O))return;l.add(O)}if(!(!o.getColVisible(c)||!o.getRowVisible(u))&&D){if((y=D.markers)!=null&&y.tr){t.save();const O=D.markers.tr,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((v=D.markers)!=null&&v.tl){t.save();const O=D.markers.tl,A=S,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=D.markers)!=null&&B.br){t.save();const O=D.markers.br,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()}if((w=D.markers)!=null&&w.bl){t.save();const O=D.markers.bl,A=S,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()}}})}}U1.add(rt);const Bd="DefaultCustomExtension",Od=55,wd=r=>{const{startRow:s,endRow:t,startColumn:e,endColumn:n}=r;return`${s}-${t}-${e}-${n}`};class ot extends N1{constructor(){super(...arguments);h(this,"Z_INDEX",Od);h(this,"uKey",Bd)}draw(t,e,n,i){const{rowHeightAccumulation:o,columnWidthAccumulation:a,worksheet:l,dataMergeCache:u,rowColumnSegment:c}=n;if(!l)return;const D=new Set,f=l.getSheetId();_.Range.foreach(c,(p,C)=>{let m=l.getCell(p,C);if(!(m!=null&&m.customRender))return;let F=this.getCellIndex(p,C,o,a,u);const{mergeInfo:b}=F;if(!this.isRenderDiffRangesByRow(b.startRow,b.endRow,i))return!0;if(F.isMerged||F.isMergedMainCell){const y=wd(b);if(D.has(y))return;D.add(y)}if(F.isMerged){const y={row:b.startRow,col:b.startColumn};if(m=l.getCell(y.row,y.col),!(m!=null&&m.customRender))return;F=this.getCellIndex(y.row,y.col,o,a,u)}const S={data:m,style:n.getsStyles().getStyleByCell(m),primaryWithCoord:F,subUnitId:f,row:p,col:C};if(!l.getColVisible(C)||!l.getRowVisible(p))return;const T=m.customRender.sort(_.sortRules);t.save(),T.forEach(y=>{y.drawWith(t,S,n,this.parent)}),t.restore()})}}U1.add(ot);var at=(r=>(r[r.OFF=0]="OFF",r[r.ON=1]="ON",r))(at||{});class Ad extends e7{constructor(t,e){super(t,e);h(this,"_rowHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(t,e){const n=this.getSkeleton();if(!n)return;const i=this.getParentScale();n.calculateSegment(e);const o=n.rowColumnSegment;if(o.startRow===-1&&o.endRow===-1)return;const{columnHeaderHeight:a}=n;t.translateWithPrecision(0,a);const l=this.getExtensionsByOrder();for(const u of l)u.draw(t,i,n)}isHit(t){const e=this._getInverseCoord(t),n=this.getSkeleton();if(!n)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=n;return e.x>=0&&e.x<=i&&e.y>o}_initialDefaultExtension(){q6.getData().forEach(t=>{this.register(t)}),this._rowHeaderLayoutExtension=this.getExtensionByKey("DefaultRowHeaderLayoutExtension")}}var O6=(r=>(r[r.SPAN=0]="SPAN",r[r.LINE=1]="LINE",r))(O6||{});class e6 extends Z6{constructor(){super(...arguments);h(this,"type",0);h(this,"translateX",0);h(this,"translateY",0)}}const Rd="DefaultDocsBackgroundExtension",Id=10;class xd extends e6{constructor(){super(...arguments);h(this,"uKey",Rd);h(this,"Z_INDEX",Id);h(this,"_preBackgroundColor","")}draw(t,e,n){var f;const i=(f=n.parent)==null?void 0:f.parent;if(!i)return;const{contentHeight:o=0}=i,{ts:a,width:l}=n;if(!a)return;const{bg:u}=a;if(!u)return;const c=_.getColorStyle(u),{spanStartPoint:D=x.create(0,0)}=this.extensionOffset;c&&(t.fillStyle=c,t.fillRectByPrecision(D.x-.5,D.y,l+1,o+1))}clearCache(){this._preBackgroundColor=""}}l2.add(new xd);const Pd="DefaultDocsBorderExtension";class Md extends e6{constructor(){super(...arguments);h(this,"uKey",Pd);h(this,"Z_INDEX",50);h(this,"_preBorderStyle");h(this,"_preBorderColor","")}draw(t,e,n){var m;const i=(m=n.parent)==null?void 0:m.parent;if(!i)return;const{asc:o=0,lineHeight:a=0}=i,{ts:l,left:u,width:c}=n;if(!l)return;const{bd:D}=l;if(!D)return;const f=this._getScale(t.getScale()),p=this._createBorderCache(D);t.save(),t.translateWithPrecisionRatio(o1,o1);const{spanStartPoint:C=x.create(0,0)}=this.extensionOffset;for(const F of p.keys()){const b=p.get(F);if(!b)continue;const{s:S,cl:T}=b,y=_.getColorStyle(T)||L1,v=G6(S);S!==this._preBorderStyle&&(j6(t,S),t.setLineWidthByPrecision(v),this._preBorderStyle=S),y!==this._preBorderColor&&(t.strokeStyle=y||L1,this._preBorderColor=y),W6(t,F,(v-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:n,l:i,r:o}=t,a=new Map;return e&&a.set(Y.TOP,e),n&&a.set(Y.BOTTOM,n),i&&a.set(Y.LEFT,i),o&&a.set(Y.RIGHT,o),a}}l2.add(new Md);const Ld="DefaultDocsFontAndBaseLineExtension",$d=20;class Nd extends e6{constructor(){super(...arguments);h(this,"uKey",Ld);h(this,"Z_INDEX",$d);h(this,"_preFontString","");h(this,"_preFontColor","")}draw(t,e,n){var C;if(!((C=n.parent)==null?void 0:C.parent))return;const{ts:o,content:a,fontStyle:l,bBox:u}=n,{spanPointWithFont:c=x.create(0,0)}=this.extensionOffset;if(a==null)return;if(!o){this._fillText(t,n,c);return}this._preFontString!==(l==null?void 0:l.fontString)&&(t.font=this._preFontString=(l==null?void 0:l.fontString)||"");const{cl:D,va:f}=o,p=_.getColorStyle(D)||L1;p&&this._preFontColor!==p&&(t.fillStyle=p),f===_.BaselineOffset.SUPERSCRIPT?c.y+=-u.spo:f===_.BaselineOffset.SUBSCRIPT&&(c.y+=u.sbo),this._fillText(t,n,c)}_fillText(t,e,n){const{renderConfig:i,spanStartPoint:o,centerPoint:a}=this.extensionOffset,{content:l,width:u,bBox:c}=e,{aba:D,abd:f}=c;if(l==null||o==null||a==null)return;const{vertexAngle:p,centerAngle:C}=i!=null?i:{},m=90;p===m&&C===m&&!O2(l)?(t.save(),t.translate(o.x+a.x,o.y+a.y),t.rotate(Math.PI/2),t.translate(-u/2,(D+f)/2-f),t.fillText(l,0,0),t.restore()):t.fillText(l,n.x,n.y)}clearCache(){this._preFontString="",this._preFontColor=""}}l2.add(new Nd);const kd="DefaultDocsLineExtension",Hd=40;class Xd extends e6{constructor(){super(...arguments);h(this,"uKey",kd);h(this,"Z_INDEX",Hd);h(this,"_preBackgroundColor","")}draw(t,e,n){var y;const i=(y=n.parent)==null?void 0:y.parent;if(!i)return;const{contentHeight:o=0,asc:a}=i,{ts:l,bBox:u}=n;if(!l)return;const{sp:c,spo:D,sbo:f,bd:p}=u,C=Y6(e),m=.5,{ul:F,st:b,ol:S,va:T}=l;if(F){const v=o+m6-3;this._drawLine(t,n,F,v,C)}if(b){let v=c-m;T===_.BaselineOffset.SUPERSCRIPT?v=a+p-D-c:T===_.BaselineOffset.SUBSCRIPT&&(v=a+p+f-c),this._drawLine(t,n,b,v,C)}if(S){const v=-m6-m;this._drawLine(t,n,S,v,C)}}clearCache(){this._preBackgroundColor=""}_drawLine(t,e,n,i,o){var D;const{s:a,cl:l,t:u,c=_.BooleanNumber.TRUE}=n;if(a===_.BooleanNumber.TRUE){const{originTranslate:f=x.create(0,0),alignOffset:p=x.create(0,0),renderConfig:C={}}=this.extensionOffset,{left:m,width:F}=e,{centerAngle:b=0,vertexAngle:S=0}=C,T=y1(b),y=y1(S);t.save(),t.translateWithPrecisionRatio(o1,o1),t.beginPath();const v=(c===_.BooleanNumber.TRUE?_.getColorStyle((D=e.ts)==null?void 0:D.cl):_.getColorStyle(l))||L1;t.strokeStyle=v,this._setLineType(t,u||_.TextDecoration.SINGLE);const B=S2(f.addByPoint(m,i),x.create(0,0),T,y,p),w=S2(f.addByPoint(m+F,i),x.create(0,0),T,y,p);t.moveToByPrecision(B.x,B.y),t.lineToByPrecision(w.x,w.y),t.stroke(),t.restore()}}_setLineType(t,e){e===_.TextDecoration.DASH_DOT_DOT_HEAVY||e===_.TextDecoration.DOT_DOT_DASH?t.setLineDash([2,2,5,2,2]):e===_.TextDecoration.DASH_DOT_HEAVY||e===_.TextDecoration.DOT_DASH?t.setLineDash([2,5,2]):e===_.TextDecoration.DOTTED||e===_.TextDecoration.DOTTED_HEAVY?t.setLineDash([2]):e===_.TextDecoration.DASH||e===_.TextDecoration.DASHED_HEAVY?t.setLineDash([3]):e===_.TextDecoration.DASH_LONG||e===_.TextDecoration.DASH_LONG_HEAVY?t.setLineDash([6]):t.setLineDash([0])}}l2.add(new Xd);class Yd extends J6{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 n=this.transform.getMatrix();t.save(),t.transform(n[0],n[1],n[2],n[3],n[4],n[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===k.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 I2 extends Yd{constructor(t,e,n){super(t,e);h(this,"onPageRenderObservable",new _.Observable);h(this,"docsLeft",0);h(this,"docsTop",0);h(this,"_drawLiquid");h(this,"_findLiquid");h(this,"_skeletonObserver");this.setConfig(n),this._drawLiquid=new y2,this._findLiquid=new y2,this._initialDefaultExtension(),this.makeDirty(!0)}static create(t,e,n){return new I2(t,e,n)}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:n,pageMarginTop:i,left:o,top:a}=this;return{documentTransform:t,pageLayoutType:e,pageMarginLeft:n,pageMarginTop:i,docsLeft:o,docsTop:a}}getEngine(){return this.getScene().getEngine()}draw(t,e){var D;if(!this.getSkeleton())return;this._drawLiquid.reset();const i=(D=this.getSkeleton())==null?void 0:D.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,p=o.length;f<p;f++){const C=o[f],{sections:m,marginTop:F=0,marginBottom:b=0,marginLeft:S=0,marginRight:T=0,width:y,height:v,renderConfig:B={}}=C,{verticalAlign:w=_.VerticalAlign.TOP,horizontalAlign:O=_.HorizontalAlign.LEFT,centerAngle:A=0,vertexAngle:I=0,wrapStrategy:R=_.WrapStrategy.UNSPECIFIED,cellValueType:L}=B,N=this._horizontalHandler(y,S,T,O,I,A,L),$=this._verticalHandler(v,F,b,w),M=x.create(N,$),X=y1(A),H=y1(I),j=H-X;if(this._isSkipByDiffBounds(C,u,c,e)){const{x:J,y:K}=this._drawLiquid.translatePage(C,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);c+=J,u+=K;continue}this.onPageRenderObservable.notifyObservers({page:C,pageLeft:c,pageTop:u,ctx:t}),this._startRotation(t,j);for(const J of m){const{columns:K}=J;this._drawLiquid.translateSection(J);for(const e1 of K){const{lines:D1,width:a1}=e1;this._drawLiquid.translateColumn(e1);const Q=D1.length;let V=M,u1=null;if(H!==0){const{rotateTranslateXList:q,rotatedHeight:n1,rotatedWidth:r1,fixOffsetX:f1,fixOffsetY:F1,rotateTranslateY:_1}=U6(D1,a1,H);let B1=r1;n1>this.height&&R!==_.WrapStrategy.WRAP&&(R===_.WrapStrategy.OVERFLOW||H>0)&&(B1=this.height/Math.tan(Math.abs(H)));const k1=this._horizontalHandler(B1,S,T,O,I,A);let c1=this._verticalHandler(n1,F,b,w)-F1;n1>this.height&&(H<0?c1=this.height-(n1+F1):c1=-F1),V=x.create(k1+f1,c1),this._drawLiquid.translate(0,-_1),u1=q}else R===_.WrapStrategy.WRAP&&(V.x=S);for(let q=0;q<Q;q++){const n1=D1[q],{divides:r1,asc:f1=0,type:F1,lineHeight:_1=0}=n1,B1=f1,k1=B1*Math.sin(X),K1=B1*Math.cos(X);if(F1===A2.BLOCK)for(const c1 of l)c1.type===O6.LINE&&(c1.extensionOffset={alignOffset:V,renderConfig:B},c1.draw(t,a,n1));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(n1,!0),u1&&this._drawLiquid.translate(u1[q]);const c1=r1.length;for(let I1=0;I1<c1;I1++){const H1=r1[I1],{glyphGroup:J1}=H1;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(H1);for(const O1 of J1){if(!O1.content||O1.content.length===0)continue;const{width:Z1,left:x1,xOffset:x2}=O1,{x:n6,y:i6}=this._drawLiquid,c2=x.create(n6,i6),h2=x.create(Z1/2,_1/2),D2=S2(c2.addByPoint(x1+x2,0),h2,X,H,V),P2=S2(c2.addByPoint(x1+k1+x2,K1),h2,X,H,V),r6={originTranslate:c2,spanStartPoint:D2,spanPointWithFont:P2,centerPoint:h2,alignOffset:V,renderConfig:B};for(const q1 of l)q1.type===O6.SPAN&&(q1.extensionOffset=r6,q1.draw(t,a,O1))}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}}}this._resetRotation(t,j);const{x:W,y:U}=this._drawLiquid.translatePage(C,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);c+=W,u+=U}}changeSkeleton(t){return this.setSkeleton(t),this}_draw(t,e){this.draw(t,e)}_horizontalHandler(t,e,n,i,o=0,a=0,l){i===_.HorizontalAlign.UNSPECIFIED&&(a===h1&&o===h1?i=_.HorizontalAlign.CENTER:o>0&&o!==h1||o===-h1||l===_.CellValueType.NUMBER?i=_.HorizontalAlign.RIGHT:l===_.CellValueType.BOOLEAN?i=_.HorizontalAlign.CENTER:i=_.HorizontalAlign.LEFT);let u=0;return i===_.HorizontalAlign.CENTER?u=(this.width-t)/2:i===_.HorizontalAlign.RIGHT?u=this.width-t-n:u=e,u}_verticalHandler(t,e,n,i){let o=0;return i===_.VerticalAlign.MIDDLE?o=(this.height-t)/2:i===_.VerticalAlign.TOP?o=e:o=this.height-t-n,o}_startRotation(t,e){t.rotate(e||0)}_resetRotation(t,e){t.rotate(-e||0)}_initialDefaultExtension(){l2.getData().forEach(t=>{this.register(t)})}_isSkipByDiffBounds(t,e,n,i){if(i==null)return!1;const{pageWidth:o,pageHeight:a,marginBottom:l,marginTop:u,marginLeft:c,marginRight:D}=t,f=n+o+c+D,p=e+a+l+u,{left:C,top:m,right:F,bottom:b}=i.viewBound;return f<C||p<m||n>F&&o!==Number.POSITIVE_INFINITY||e>b&&a!==Number.POSITIVE_INFINITY}}const zd="__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__";class Wd extends t7{constructor(t,e,n=!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 _.ObjectMatrix);h(this,"_overflowCacheRuntimeTimeout",-1);h(this,"_forceDisableGridlines",!1);h(this,"_documents",new I2(zd,void 0,{pageMarginLeft:0,pageMarginTop:0}));h(this,"isPrinting",!1);this._allowCache=n,this._allowCache&&(this._cacheCanvas=new u2,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 n=this.getSkeleton();if(!n)return;const i=this.getParentScale(),o=this._refreshIncrementalState?e==null?void 0:e.diffBounds.map(l=>n.getRowColumnSegmentByViewBound(l)):void 0,a=this.getExtensionsByOrder();for(const l of a)l.draw(t,i,n,o)}isHit(t){const e=this._getInverseCoord(t),n=this.getSkeleton();if(!n)return!1;const{rowHeaderWidth:i,columnHeaderHeight:o}=n;return e.x>i&&e.y>o}getNoMergeCellPositionByIndex(t,e){const n=this.getSkeleton();if(!n)return;const{rowHeightAccumulation:i,columnWidthAccumulation:o,rowHeaderWidth:a,columnHeaderHeight:l}=n;let{startY:u,endY:c,startX:D,endX:f}=Y1(t,e,i,o);return u+=l,c+=l,D+=a,f+=a,{startY:u,endY:c,startX:D,endX:f}}getScrollXYByRelativeCoords(t){const e=this.getParent();let n=0,i=0;const o=e.getActiveViewportByRelativeCoord(t);if(o){const a=o.actualScrollX||0,l=o.actualScrollY||0;n+=a,i+=l}return{x:n,y:i}}makeForceDirty(t=!0){this.makeDirty(t),this._forceDirty=t}setForceDisableGridlines(t){this._forceDisableGridlines=t}getSelectionBounding(t,e,n,i){var o;return(o=this.getSkeleton())==null?void 0:o.getMergeBounding(t,e,n,i)}render(t,e){if(!this.visible)return this.makeDirty(!1),this;const n=this.getSkeleton();if(!n)return;n.calculateWithoutClearingCache(e);const i=n.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}=n;if(t.translateWithPrecision(l,u),this._drawAuxiliary(t,e),e&&this._allowCache===!0){const{viewBound:c,diffBounds:D,diffX:f,diffY:p,viewPortPosition:C,viewPortKey:m}=e;if(m==="viewMain"){const F=this._cacheCanvas.getContext();F.save();const{left:b,top:S,right:T,bottom:y}=C,v=T-b+l,B=y-S+u;if(D.length===0||f===0&&p===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,S,v,B,b,S,v,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,p*a),F.restore(),this._refreshIncrementalState=!0,F.setTransform(t.getTransform());for(const w of D){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,S,v,B,b,S,v,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:n}=t;this._cacheCanvas.setSize(e,n),this.makeForceDirty(!0)}_applyCache(t,e=0,n=0,i=0,o=0,a=0,l=0,u=0,c=0){if(!t)return;const D=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*D,n*D,i*D,o*D,a*D,l*D,u*D,c*D),t.restore(),f.restore()}_draw(t,e){this.draw(t,e)}_getAncestorSize(){const t=this._getAncestorParent();if(t){if(t.classType===k.ENGINE){const e=t.getCanvas();return{width:e.getWidth(),height:e.getHeight()}}if(t.classType===k.SCENE_VIEWER)return{width:t.width,height:t.height}}}_getAncestorParent(){let t=this.parent;for(;t;){if(t.classType===k.ENGINE||t.classType===k.SCENE_VIEWER)return t;t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent())}}_initialDefaultExtension(){U1.getData().sort(_.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 n=t.getParent();for(;n;){if(n.classType===k.SCENE){const i=n.getViewports(),o=this._getHasScrollViewports(i);for(const a of o)a&&e(a)}n=(n==null?void 0:n.getParent)&&(n==null?void 0:n.getParent())}}_getHasScrollViewports(t){const e=[];for(const n of t)n.getScrollBar()&&e.push(n);return e}_drawAuxiliary(t,e){const n=this.getSkeleton();if(n==null)return;const{rowColumnSegment:i,dataMergeCache:o,overflowCache:a,stylesCache:l,showGridlines:u}=n,{border:c,backgroundPositions:D}=l,{startRow:f,endRow:p,startColumn:C,endColumn:m}=i;if(!n||u===_.BooleanNumber.FALSE||this._forceDisableGridlines)return;const{rowHeightAccumulation:F,columnTotalWidth:b,columnWidthAccumulation:S,rowTotalHeight:T}=n;if(!F||!S||b===void 0||T===void 0)return;t.save(),t.setLineWidthByPrecision(1),t.strokeStyle=l1([212,212,212]);const y=S.length,v=F.length,B=.4,w=p-f+1,O=m-C+1,A=Math.ceil(w*B),I=Math.ceil(O*B),R=Math.max(Math.floor(f-A),0),L=Math.min(Math.ceil(p+A),v-1),N=Math.min(Math.ceil(m+I),y-1),$=Math.max(Math.floor(C-I),0),M=S[$-1]||0,X=F[R-1]||0,H=S[N],j=F[L];t.translateWithPrecisionRatio(o1,o1),t.beginPath(),t.moveToByPrecision(M,X),t.lineToByPrecision(H,X),t.moveToByPrecision(M,X),t.lineToByPrecision(M,j),t.closePathByEnv(),t.stroke();for(let W=R;W<=L;W++){if(W<0||W>v-1)continue;const U=F[W];t.beginPath(),t.moveToByPrecision(M,U),t.lineToByPrecision(H,U),t.closePathByEnv(),t.stroke()}for(let W=$;W<=N;W++){if(W<0||W>y-1)continue;const U=S[W];t.beginPath(),t.moveToByPrecision(U,X),t.lineToByPrecision(U,j),t.closePathByEnv(),t.stroke()}this._clearRectangle(t,F,S,o),this._clearRectangle(t,F,S,a.toNativeArray()),this._clearBackground(t,D),t.restore()}_clearRectangle(t,e,n,i){if(i!=null)for(const o of i){const{startRow:a,endRow:l,startColumn:u,endColumn:c}=o,D=e[a-1]||0,f=e[l]||e[e.length-1],p=n[u-1]||0,C=n[c]||n[n.length-1];t.clearRectByPrecision(p,D,C-p,f-D),t.beginPath(),t.moveToByPrecision(p,D),t.lineToByPrecision(C,D),t.lineToByPrecision(C,f),t.lineToByPrecision(p,f),t.lineToByPrecision(p,D),t.stroke(),t.closePath()}}_clearBackground(t,e){e==null||e.forValue((n,i,o)=>{let{startY:a,endY:l,startX:u,endX:c}=o;const{isMerged:D,isMergedMainCell:f,mergeInfo:p}=o;if(D)return!0;f&&(a=p.startY,l=p.endY,u=p.startX,c=p.endX),t.clearRectForTexture(u,a,c-u+.5,l-a+.5)})}}function Y7(r,s,t){r.onPointerEnterObserver.add(e=>{s(r,e)}),r.onPointerLeaveObserver.add(e=>{t(r,e)})}class u7 extends R1{constructor(t,e){super(t);h(this,"_subScenes",new Map);h(this,"_activeSubScene");h(this,"_allowSelectedClipElement",!1);this._initialProps(e)}get classType(){return k.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 n=this.transform.getMatrix();return t.save(),t.transform(n[0],n[1],n[2],n[3],n[4],n[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,n]of this._subScenes)if(e===t)return n}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 n=this.transform.clone().invert().applyPoint(t);return(i=this._activeSubScene)==null?void 0:i.pick(n)}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 n={};let i=!1;e.forEach(o=>{if(t[o]===void 0)return!0;n[o]=t[o],i=!0}),i&&this.transformByState(n),this.makeDirty(!0)}}const ut=["hoverCursor","moveCursor","fillRule","globalCompositeOperation","paintFirst","stroke","strokeScaleEnabled","fill","fillAfterStrokeEnabled","hitStrokeWidth","strokeLineJoin","strokeLineCap","shadowColor","shadowBlur","shadowOffset","shadowOffsetX","shadowOffsetY","shadowOpacity","shadowEnabled","shadowForStrokeEnabled","strokeDashArray","strokeDashOffset","strokeMiterLimit"];class V1 extends R1{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",x6.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:n,strokeWidth:i,shadowEnabled:o,shadowForStrokeEnabled:a,strokeScaleEnabled:l,parent:u}=e;let{scaleX:c,scaleY:D}=t.getScale();!n||i===0||(o&&!a&&this._removeShadow(t),t.save(),l===!1&&(c=c!=null?c:1,D=D!=null?D:1,t.scale(1/c,1/D)),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:n,strokeLineCap:i,strokeDashOffset:o,strokeLineJoin:a,strokeMiterLimit:l,stroke:u}=e;t.lineWidth=n,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 n=this.transform.getMatrix();return t.save(),t.transform(n[0],n[1],n[2],n[3],n[4],n[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(n=>{if(t[n]===void 0)return!0;z2.indexOf(n)===-1&&(this[`_${n}`]=t[n])}),this.makeDirty(!0),this}toJson(){const t={};return ut.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 n={};let i=!1;e.forEach(o=>{if(t[o]===void 0)return!0;z2.indexOf(o)>-1?(n[o]=t[o],i=!0):this[`_${o}`]=t[o]}),i&&this.transformByState(n),this.makeDirty(!0)}}const lt=["dataArray"];class d1 extends V1{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 n=0;n<this.dataArray.length;++n)this._pathLength+=this.dataArray[n].pathLength;this._setFixBoundingBox(),this.onTransformChangeObservable.add(n=>{const{type:i,preValue:o}=n;if(i===t1.resize||i===t1.all){this._reCalculateCache=!0;const{left:a,top:l,width:u,height:c}=this._getSelfRect(),{width:D,height:f}=o;let p,C;D?p=this.width-D:p=0,f?C=this.height-f:C=0;const m=p/u,F=C/c;this.scaleX+=m,this.scaleY+=F,this.left=this.left-a*m,this.top=this.top-l*F,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(t,e){const n=e.dataArray;if(n){t.beginPath();for(let i=0;i<n.length;i++){const o=n[i].command,a=n[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],D=a[3],f=a[4],p=a[5],C=a[6],m=a[7],F=c>D?c:D,b=c>D?1:c/D,S=c>D?D/c:1;t.translate(l,u),t.rotate(C),t.scale(b,S),t.arc(0,0,F,f,f+p,!!(1-m)),t.scale(1/b,1/S),t.rotate(-C),t.translate(-l,-u);break}case"z":t.closePath();break}}this._renderPaintInOrder(t,e)}}static getLineLength(t,e,n,i){return Math.sqrt((n-t)*(n-t)+(i-e)*(i-e))}static getPointOnLine(t,e,n,i,o,a,l){a===void 0&&(a=e),l===void 0&&(l=n);const u=(o-n)/(i-e+1e-8);let c=Math.sqrt(t*t/(1+u*u));i<e&&(c*=-1);let D=u*c,f;if(i===e)f={x:a,y:l+D};else if((l-n)/(a-e+1e-8)===u)f={x:a+c,y:l+D};else{const p=this.getLineLength(e,n,i,o);let C=(a-e)*(i-e)+(l-n)*(o-n);C/=p*p;const m=e+C*(i-e),F=n+C*(o-n),b=this.getLineLength(a,l,m,F),S=Math.sqrt(t*t-b*b);c=Math.sqrt(S*S/(1+u*u)),i<e&&(c*=-1),D=u*c,f={x:m+c,y:F+D}}return f}static getPointOnCubicBezier(t,e,n,i,o,a,l,u,c){function D(b){return b*b*b}function f(b){return 3*b*b*(1-b)}function p(b){return 3*b*(1-b)*(1-b)}function C(b){return(1-b)*(1-b)*(1-b)}const m=u*D(t)+a*f(t)+i*p(t)+e*C(t),F=c*D(t)+l*f(t)+o*p(t)+n*C(t);return{x:m,y:F}}static getPointOnQuadraticBezier(t,e,n,i,o,a,l){function u(C){return C*C}function c(C){return 2*C*(1-C)}function D(C){return(1-C)*(1-C)}const f=a*u(t)+i*c(t)+e*D(t),p=l*u(t)+o*c(t)+n*D(t);return{x:f,y:p}}static getPointOnEllipticalArc(t,e,n,i,o,a){const l=Math.cos(a),u=Math.sin(a),c={x:n*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 n=["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,p=n.length;f<p;f++)e=e.replace(new RegExp(n[f],"g"),`|${n[f]}`);const i=e.split("|"),o=[],a=[];let l=0,u=0;const c=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let D;for(let f=1,p=i.length;f<p;f++){let C=i[f],m=C.charAt(0);for(C=C.slice(1),a.length=0;D=c.exec(C);)a.push(D[0]);const F=[];for(let b=0,S=a.length;b<S;b++){if(a[b]==="00"){F.push(0,0);continue}const T=Number.parseFloat(a[b]);isNaN(T)?F.push(0):F.push(T)}for(;F.length>0&&!isNaN(F[0]);){let b,S=[];const T=l,y=u;let v,B,w,O,A,I,R,L,N,$;switch(m){case"l":l+=F.shift()||0,u+=F.shift()||0,b="L",S.push(l,u);break;case"L":l=F.shift()||0,u=F.shift()||0,S.push(l,u);break;case"m":{const M=F.shift()||0,X=F.shift()||0;if(l+=M,u+=X,b="M",o.length>2&&o[o.length-1].command==="z"){for(let H=o.length-2;H>=0;H--)if(o[H].command==="M"){l=o[H].points[0]+M,u=o[H].points[1]+X;break}}S.push(l,u),m="l";break}case"M":l=F.shift()||0,u=F.shift()||0,b="M",S.push(l,u),m="L";break;case"h":l+=F.shift()||0,b="L",S.push(l,u);break;case"H":l=F.shift()||0,b="L",S.push(l,u);break;case"v":u+=F.shift()||0,b="L",S.push(l,u);break;case"V":u=F.shift()||0,b="L",S.push(l,u);break;case"C":S.push(F.shift()||0,F.shift()||0,F.shift()||0,F.shift()||0),l=F.shift()||0,u=F.shift()||0,S.push(l,u);break;case"c":S.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",S.push(l,u);break;case"S":B=l,w=u,v=o[o.length-1],v.command==="C"&&(B=l+(l-v.points[2]),w=u+(u-v.points[3])),S.push(B,w,F.shift()||0,F.shift()||0),l=F.shift()||0,u=F.shift()||0,b="C",S.push(l,u);break;case"s":B=l,w=u,v=o[o.length-1],v.command==="C"&&(B=l+(l-v.points[2]),w=u+(u-v.points[3])),S.push(B,w,l+(F.shift()||0),u+(F.shift()||0)),l+=F.shift()||0,u+=F.shift()||0,b="C",S.push(l,u);break;case"Q":S.push(F.shift()||0,F.shift()||0),l=F.shift()||0,u=F.shift()||0,S.push(l,u);break;case"q":S.push(l+(F.shift()||0),u+(F.shift()||0)),l+=F.shift()||0,u+=F.shift()||0,b="Q",S.push(l,u);break;case"T":B=l,w=u,v=o[o.length-1],v.command==="Q"&&(B=l+(l-v.points[0]),w=u+(u-v.points[1])),l=F.shift()||0,u=F.shift()||0,b="Q",S.push(B,w,l,u);break;case"t":B=l,w=u,v=o[o.length-1],v.command==="Q"&&(B=l+(l-v.points[0]),w=u+(u-v.points[1])),l+=F.shift()||0,u+=F.shift()||0,b="Q",S.push(B,w,l,u);break;case"A":O=F.shift()||0,A=F.shift()||0,I=F.shift()||0,R=F.shift()||0,L=F.shift()||0,N=l,$=u,l=F.shift()||0,u=F.shift()||0,b="A",S=this.convertEndpointToCenterParameterization(N,$,l,u,R,L,O,A,I);break;case"a":O=F.shift()||0,A=F.shift()||0,I=F.shift()||0,R=F.shift()||0,L=F.shift()||0,N=l,$=u,l+=F.shift()||0,u+=F.shift()||0,b="A",S=this.convertEndpointToCenterParameterization(N,$,l,u,R,L,O,A,I);break}o.push({command:b||m,points:S,start:{x:T,y},pathLength:this.calcLength(T,y,b||m,S)})}(m==="z"||m==="Z")&&o.push({command:"z",points:[],start:{x:0,y:0},pathLength:0})}return o}static calcLength(t,e,n,i){let o,a,l,u;const c=d1;switch(n){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 D=i[4],f=i[5],p=i[4]+f;let C=Math.PI/180;if(Math.abs(D-p)<C&&(C=Math.abs(D-p)),a=c.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],D,0),f<0)for(u=D-C;u>p;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=D+C;u<p;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],p,0),o+=c.getLineLength(a.x,a.y,l.x,l.y),o}}return 0}static convertEndpointToCenterParameterization(t,e,n,i,o,a,l,u,c){const D=c*(Math.PI/180),f=Math.cos(D)*(t-n)/2+Math.sin(D)*(e-i)/2,p=-1*Math.sin(D)*(t-n)/2+Math.cos(D)*(e-i)/2,C=f*f/(l*l)+p*p/(u*u);C>1&&(l*=Math.sqrt(C),u*=Math.sqrt(C));let m=Math.sqrt((l*l*(u*u)-l*l*(p*p)-u*u*(f*f))/(l*l*(p*p)+u*u*(f*f)));o===a&&(m*=-1),isNaN(m)&&(m=0);const F=m*l*p/u,b=m*-u*f/l,S=(t+n)/2+Math.cos(D)*F-Math.sin(D)*b,T=(e+i)/2+Math.sin(D)*F+Math.cos(D)*b,y=R=>Math.sqrt(R[0]*R[0]+R[1]*R[1]),v=(R,L)=>(R[0]*L[0]+R[1]*L[1])/(y(R)*y(L)),B=(R,L)=>(R[0]*L[1]<R[1]*L[0]?-1:1)*Math.acos(v(R,L)),w=B([1,0],[(f-F)/l,(p-b)/u]),O=[(f-F)/l,(p-b)/u],A=[(-1*f-F)/l,(-1*p-b)/u];let I=B(O,A);return v(O,A)<=-1&&(I=Math.PI),v(O,A)>=1&&(I=0),a===0&&I>0&&(I-=2*Math.PI),a===1&&I<0&&(I+=2*Math.PI),[S,T,l,u,w,I,D,a]}toJson(){const t={};return lt.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}getState(){const{left:t,top:e,width:n,height:i}=this.getRect();return{left:t,top:e,width:n,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:n,height:i}=this._getSelfRect();return{left:t*this.scaleX+this.left,top:e*this.scaleY+this.top,width:n*this.scaleX,height:i*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(t){let e,n=0;const i=this.dataArray.length;if(!i)return null;for(;n<i&&t>this.dataArray[n].pathLength;)t-=this.dataArray[n].pathLength,++n;if(n===i)return e=this.dataArray[n-1].points.slice(-2),{x:e[0],y:e[1]};if(t<.01)return e=this.dataArray[n].points.slice(0,2),{x:e[0],y:e[1]};const o=this.dataArray[n],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],D=a[3];let f=a[4];const p=a[5],C=a[6];return f+=p*t/o.pathLength,d1.getPointOnEllipticalArc(l,u,c,D,f,C)}}return null}_draw(t){d1.drawWith(t,this)}_setFixBoundingBox(){const{left:t,top:e,width:n,height:i}=this._getSelfRect(),o=this.width/n,a=this.height/i;this.left=this.left-t*o,this.top=this.top-e*a,this.scaleX=o,this.scaleY=a,this.width=n,this.height=i,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let t=[];this.dataArray.forEach(c=>{if(c.command==="A"){const D=c.points[4],f=c.points[5],p=c.points[4]+f;let C=Math.PI/180;if(Math.abs(D-p)<C&&(C=Math.abs(D-p)),f<0)for(let m=D-C;m>p;m-=C){const F=d1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],m,0);t.push(F.x,F.y)}else for(let m=D+C;m<p;m+=C){const F=d1.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],m,0);t.push(F.x,F.y)}}else if(c.command==="C")for(let D=0;D<=1;D+=.01){const f=d1.getPointOnCubicBezier(D,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],n=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),n=Math.max(n,a)),isNaN(l)||(i=Math.min(i,l),o=Math.max(o,l));const u={left:e,top:i,width:n-e,height:o-i};return this._selfRectCache=u,u}}var ct=(r=>(r.LEFT="__slideNavigationLeft__",r.RIGHT="__slideNavigationRight__",r))(ct||{});const z7="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 jd extends u7{constructor(){super(...arguments);h(this,"onSlideChangePageByNavigationObservable",new _.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:z7,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),n=new d1("__slideNavigationRight__",{data:z7,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),i=(a,l)=>{a.setCursor(s1.POINTER),a.setProps({fill:this._getArrowColor(!0)})},o=(a,l)=>{a.setCursor(s1.DEFAULT),a.setProps({fill:this._getArrowColor()})};Y7(e,i,o),Y7(n,i,o),this._addNavTrigger(e,n),t.addObjects([e,n],7)}removeNavigation(){var e,n;const t=this.getActiveSubScene();t==null||this._navigationEnabled===!1||((e=t.getObject("__slideNavigationLeft__"))==null||e.dispose(),(n=t.getObject("__slideNavigationRight__"))==null||n.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var e,n;const t=this.getActiveSubScene();t==null||this._navigationEnabled===!1||((e=t.getObject("__slideNavigationLeft__"))==null||e.hide(),(n=t.getObject("__slideNavigationRight__"))==null||n.hide())}showNav(){var e,n;const t=this.getActiveSubScene();t==null||this._navigationEnabled===!1||((e=t.getObject("__slideNavigationLeft__"))==null||e.show(),(n=t.getObject("__slideNavigationRight__"))==null||n.show())}renderToThumb(t,e,n=1,i=1){const o=this.getSubScene(e);o!=null&&(t.save(),t.scale(n,i),o.makeDirtyNoParent(!0).render(t),t.restore())}_getSubScenesIndex(t){if(t==null)return;const e=Array.from(this.getSubScenes()),n=e.length;let i=0;for(let l=0;l<n;l++){const[u]=e[l];if(t===u){i=l;break}}let o=i+1,a=i-1;return o=o>=n?0:o,a=a<0?n-1:a,{nextScene:e[o][1],previousScene:e[a][1]}}_addNavTrigger(t,e){t.onPointerDownObserver.add(()=>{var o;const n=this._getSubScenesIndex((o=this.getActiveSubScene())==null?void 0:o.sceneKey),i=n==null?void 0:n.previousScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)}),e.onPointerDownObserver.add(()=>{var o;const n=this._getSubScenesIndex((o=this.getActiveSubScene())==null?void 0:o.sceneKey),i=n==null?void 0:n.nextScene.sceneKey;this.changePage(i),this.onSlideChangePageByNavigationObservable.notifyObservers(i)})}_getArrowColor(t=!1){return t?l1(_.COLORS.white,.8):l1(_.COLORS.white,.5)}}class Gd extends R1{constructor(s,t=n=>{},e){super(s),this._render=t,this._isHitCustom=e}toJson(){return{...super.toJson()}}render(s,t){if(!this.visible)return this.makeDirty(!1),this;if(t&&!this.isInGroup){const{top:n,left:i,bottom:o,right:a}=t.viewBound;if(this.width+this.strokeWidth<i||a<0||this.height+this.strokeWidth<n||o<0)return this}const e=this.transform.getMatrix();return s.save(),s.transform(e[0],e[1],e[2],e[3],e[4],e[5]),this._render(s),s.restore(),this.makeDirty(!1),this}isHit(s){return this._isHitCustom?this._isHitCustom(s):super.isHit(s)}}class ht extends _.Disposable{constructor(){super(...arguments);h(this,"onInputChangedObservable",new _.Observable);h(this,"onTransformChangeObservable",new _.Observable);h(this,"_scenes",{});h(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(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(n=>{t[n].dispose()})}remainScene(t){const e=this.getScenes();if(e[t]){const n=e[t];return delete e[t],n}}}class G2 extends ht{constructor(t=1,e=1,n,i){super();h(this,"renderEvenInBackground",!0);h(this,"onBeginFrameObservable",new _.Observable);h(this,"onEndFrameObservable",new _.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",i4());h(this,"_resizeObserver");h(this,"_fps",60);h(this,"_deltaTime",0);h(this,"_performanceMonitor",new T4);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 u2({mode:i,width:t,height:e,pixelRatio:n}),this._canvasEle=this._canvas.getCanvasEle(),this._handleKeyboardAction(),this._handlePointerAction(),i!==K6.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 n;if(this._container=t,this._container.appendChild(this._canvasEle),e){this.resize(),(n=this._resizeObserver)==null||n.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(_.toDisposable(()=>{var o;(o=this._resizeObserver)==null||o.unobserve(this._container)}))}}resize(){if(!this._container)return;const{width:t,height:e}=_4(this._container);t===this._previousWidth&&e===this._previousHeight||(this._previousWidth=t,this._previousHeight=e,this.resizeBySize(t,e))}resizeBySize(t,e){const n=this.width,i=this.height;this._canvas.setSize(t,e),this.onTransformChangeObservable.notifyObservers({type:t1.resize,value:{width:t,height:e},preValue:{width:n,height:i}})}dispose(){super.dispose();const t=F6();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=F2(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=F2(this._renderFunction):this._renderingQueueLaunched=!1}_measureFps(){this._performanceMonitor.sampleFrame(),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0}_handleKeyboardAction(){const t=n=>{const i=n;i.deviceType=g1.Keyboard,i.inputIndex=n.keyCode,i.previousState=0,i.currentState=1,this.onInputChangedObservable.notifyObservers(i)},e=n=>{const i=n;i.deviceType=g1.Keyboard,i.inputIndex=n.keyCode,i.previousState=1,i.currentState=0,this.onInputChangedObservable.notifyObservers(i)};this._canvasEle.addEventListener("keydown",t),this._canvasEle.addEventListener("keyup",e)}_handlePointerAction(){const t=F6();this._pointerMoveEvent=e=>{const n=this._getPointerType(e),i=this.pointer[P.Horizontal],o=this.pointer[P.Vertical],a=this.pointer[P.DeltaHorizontal],l=this.pointer[P.DeltaVertical];this.pointer[P.Horizontal]=e.clientX,this.pointer[P.Vertical]=e.clientY,this.pointer[P.DeltaHorizontal]=e.movementX,this.pointer[P.DeltaVertical]=e.movementY;const u=e;u.deviceType=n,i!==e.clientX&&(u.inputIndex=P.Horizontal,u.previousState=i,u.currentState=this.pointer[P.Horizontal],this.onInputChangedObservable.notifyObservers(u)),o!==e.clientY&&(u.inputIndex=P.Vertical,u.previousState=o,u.currentState=this.pointer[P.Vertical],this.onInputChangedObservable.notifyObservers(u)),this.pointer[P.DeltaHorizontal]!==0&&(u.inputIndex=P.DeltaHorizontal,u.previousState=a,u.currentState=this.pointer[P.DeltaHorizontal],this.onInputChangedObservable.notifyObservers(u)),this.pointer[P.DeltaVertical]!==0&&(u.inputIndex=P.DeltaVertical,u.previousState=l,u.currentState=this.pointer[P.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 n=e,i=this._getPointerType(n),o=this.pointer[P.Horizontal],a=this.pointer[P.Vertical],l=this.pointer[n.button+2];i===g1.Mouse?(this._mouseId===-1&&(n.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=n.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId,this._canvasEle.setPointerCapture(this._mouseId))):n.pointerId&&!document.pointerLockElement&&(this._remainCapture=n.pointerId,this._canvasEle.setPointerCapture(n.pointerId)),this.pointer[P.Horizontal]=n.clientX,this.pointer[P.Vertical]=n.clientY,this.pointer[n.button+2]=1;const u=n;u.deviceType=i,o!==n.clientX&&(u.inputIndex=P.Horizontal,u.previousState=o,u.currentState=this.pointer[P.Horizontal],this.onInputChangedObservable.notifyObservers(u)),a!==n.clientY&&(u.inputIndex=P.Vertical,u.previousState=a,u.currentState=this.pointer[P.Vertical],this.onInputChangedObservable.notifyObservers(u)),u.inputIndex=n.button+2,u.previousState=l,u.currentState=this.pointer[n.button+2],this.onInputChangedObservable.notifyObservers(u)},this._pointerUpEvent=e=>{const n=e,i=this._getPointerType(n),o=this.pointer[P.Horizontal],a=this.pointer[P.Vertical],l=this.pointer[n.button+2];this.pointer[P.Horizontal]=n.clientX,this.pointer[P.Vertical]=n.clientY,this.pointer[n.button+2]=0;const u=n;u.deviceType=i,o!==n.clientX&&(u.inputIndex=P.Horizontal,u.previousState=o,u.currentState=this.pointer[P.Horizontal],this.onInputChangedObservable.notifyObservers(u)),a!==n.clientY&&(u.inputIndex=P.Vertical,u.previousState=a,u.currentState=this.pointer[P.Vertical],this.onInputChangedObservable.notifyObservers(u)),u.inputIndex=n.button+2,u.previousState=l,u.currentState=this.pointer[n.button+2],i===g1.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!==g1.Mouse&&(this.pointer={})},this._pointerEnterEvent=e=>{const n=this._getPointerType(e),i=e;i.deviceType=n,i.currentState=2,this.onInputChangedObservable.notifyObservers(i)},this._pointerLeaveEvent=e=>{const n=this._getPointerType(e),i=e;i.deviceType=n,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 n=g1.Mouse,i=this.pointer[P.MouseWheelX],o=this.pointer[P.MouseWheelY],a=this.pointer[P.MouseWheelZ];this.pointer[P.MouseWheelX]=e.deltaX||0,this.pointer[P.MouseWheelY]=e.deltaY||e.wheelDelta||0,this.pointer[P.MouseWheelZ]=e.deltaZ||0;const l=e;l.deviceType=n,this.pointer[P.MouseWheelX]!==0&&(l.inputIndex=P.MouseWheelX,l.previousState=i,l.currentState=this.pointer[P.MouseWheelX],this.onInputChangedObservable.notifyObservers(l)),this.pointer[P.MouseWheelY]!==0&&(l.inputIndex=P.MouseWheelY,l.previousState=o,l.currentState=this.pointer[P.MouseWheelY],this.onInputChangedObservable.notifyObservers(l)),this.pointer[P.MouseWheelZ]!==0&&(l.inputIndex=P.MouseWheelZ,l.previousState=a,l.currentState=this.pointer[P.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 n={passive:{get(){t=!0}}};this._canvasEle.addEventListener("test",e,n),this._canvasEle.removeEventListener("test",e,n)}catch{}return t}_getPointerType(t){let e=g1.Mouse;return(t.pointerType==="touch"||t.pointerType==="pen"||t.touches)&&(e=g1.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(_.toDisposable(()=>{t.removeEventListener("change",e)}))}}class Dt extends R1{constructor(t,...e){super(t);h(this,"_objects",[]);this.addObjects(...e)}get classType(){return k.GROUP}set cursor(t){this.setCursor(t)}addObjects(...t){for(const e of t)this.addObject(e)}addObject(t){let e=t;if(C6(t)){const n=this.getScene();if(e=n==null?void 0:n.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(),n=e.length;if(C6(t))for(let i=0;i<n;i++){const o=e[i];if(o.oKey===t){e.splice(i,1),this.parent.removeObject(o);return}}else for(let i=0;i<n;i++){const o=e[i];if(o===t){e.splice(i,1),this.parent.removeObject(o);return}}}getObjectsByOrder(){const t=[];this._objects.sort(_.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 n=this.transform.getMatrix();t.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._objects.sort(_.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 _t extends _.Disposable{constructor(t,e=[],n=1,i=!1){super();h(this,"_objects",[]);h(this,"_cacheCanvas");h(this,"_dirty",!0);this._scene=t,this._zIndex=n,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(_.sortRules);for(const e of this._objects)!e.isInGroup&&e.visible&&t.push(e);return t}getObjectsByOrderForPick(){const t=[];this._objects.sort(_.sortRules);for(const e of this._objects)e.classType!==k.GROUP&&e.visible&&t.push(e);return t}getObjects(){return this._objects}addObject(t){if(t.classType===k.GROUP){const e=t.getObjects();for(const n of e)this.scene.getObject(n.oKey)||(this._objects.push(n),this.scene.setObjectBehavior(n),this._layerBehavior(n))}return this._objects.push(t),this.scene.setObjectBehavior(t),this._layerBehavior(t),this.scene.applyTransformer(t),this}removeObject(t){const e=this.getObjects(),n=e.length;if(t instanceof R1){for(let i=0;i<n;i++)if(e[i]===t){e.splice(i,1);return}}else for(let i=0;i<n;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(),n=e.length;for(let i=n-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 R1?o:o.oKey,o===u){e.splice(i,1);break}}}}makeDirty(t=!0){this._dirty=t;const e=this.scene.getParent();return e.classType===k.SCENE_VIEWER&&e.makeDirty(!0),this}isDirty(){return this._dirty}render(t,e=!1){var i;const n=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(n.getTransform()),this._draw(o,e),o.restore()}this._applyCache(n)}else n.save(),this._draw(n,e),n.restore();return this.makeDirty(!1),this}_layerBehavior(t){this.disposeWithMe(_.toDisposable(t.onTransformChangeObservable.add(()=>{this.makeDirty(!0)}))),t.layer=this}_initialCacheCanvas(){this._cacheCanvas=new u2,this.disposeWithMe(_.toDisposable(this._scene.getEngine().onTransformChangeObservable.add(()=>{this._resizeCacheCanvas()})))}_draw(t,e){var n;(n=this._scene.getViewports())==null||n.forEach(i=>i.render(t,this.getObjectsByOrder(),e))}_applyCache(t){if(!t||this._cacheCanvas==null)return;const e=this._cacheCanvas.getWidth(),n=this._cacheCanvas.getHeight();t.drawImage(this._cacheCanvas.getCanvasEle(),0,0,e,n)}_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 dt=(r=>(r[r.NONE=0]="NONE",r[r.X=1]="X",r[r.Y=2]="Y",r[r.ALL=3]="ALL",r))(dt||{});class a2{constructor(s,t=3,e,n=.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=s,this._scrollTimerType=t,this._padding=e,this._smoothRatioX=n,this._smoothRatioY=i,this._padding||(this._padding={t:0,b:15,l:0,r:60})}static create(s,t=3,e){return new a2(s,t,e)}set scrollTimerType(s){this._scrollTimerType=s}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(s){this._viewport=s}getActiveViewport(){return this._viewport}startScroll(s,t,e){this._offsetX=s,this._offsetY=t,this._moveX=s,this._moveY=t,e!=null?this._viewport=e:this._viewport=this.getViewportByCoord(this._scene),this._runRenderLoop()}_scroll(s){const t=(s==null?void 0:s.top)||0,e=t+((s==null?void 0:s.height)||0),n=(s==null?void 0:s.left)||0,i=n+((s==null?void 0:s.width)||0),{t:o=0,b:a=0,r:l=0,l:u=0}=this._padding;let c=0,D=0,f=!1;if(this._scrollTimerType&1&&(this._moveX<n+u&&(c=(this._moveX-n-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&&(D=(this._moveY-t-o)*this._smoothRatioY,f=!0),this._moveY>e-a&&(D=(this._moveY-e+a)*this._smoothRatioY,f=!0)),!f)return;const p=s==null?void 0:s.scrollBy({x:c,y:D}),C=s==null?void 0:s.getActualScroll(c,D);if(this._scrollX=(C==null?void 0:C.x)||0,this._scrollY=(C==null?void 0:C.y)||0,p){const m=this._findAncestorScene(s==null?void 0:s.scene),F=this.getViewportByCoord(m);F&&this._scroll(F)}}scrolling(s,t,e){this._moveX=s,this._moveY=t,this._scrollFunction=e}stopScroll(){s4(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getViewportByCoord(s){return s==null?void 0:s.getActiveViewportByRelativeCoord(x.FromArray([this._offsetX,this._offsetY]))}getScene(){return this._scene}_runRenderLoop(){this._scroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=F2(this._runRenderLoop.bind(this))}_findAncestorScene(s){let t=s==null?void 0:s.getParent();for(;t;){if(t.classType===k.SCENE)return t;t=(t==null?void 0:t.getParent)&&(t==null?void 0:t.getParent())}}}const ft=["radius"];class p1 extends V1{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:n,width:i,height:o}=e;if(n=n!=null?n:0,i=i!=null?i:30,o=o!=null?o:30,t.beginPath(),e.strokeDashArray&&t.setLineDash(e.strokeDashArray),!n)t.rect(0,0,i,o);else{let a=0,l=0,u=0,c=0;a=l=u=c=Math.min(n,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 ft.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}_draw(t){p1.drawWith(t,this)}}const Ud=["__SpreadsheetTransformerResizeLT__","__SpreadsheetTransformerResizeCT__","__SpreadsheetTransformerResizeRT__","__SpreadsheetTransformerResizeLM__","__SpreadsheetTransformerResizeRM__","__SpreadsheetTransformerResizeLB__","__SpreadsheetTransformerResizeCB__","__SpreadsheetTransformerResizeRB__"];class Vd extends _.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 _.Observable);h(this,"onChangingObservable",new _.Observable);h(this,"onChangeEndObservable",new _.Observable);h(this,"onClearControlObservable",new _.Observable);h(this,"onCreateControlObservable",new _.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(_.toDisposable(t.onPointerDownObserver.add((e,n)=>{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=a2.create(a);l.startScroll(i,o);const{scrollX:u,scrollY:c}=n2(l);this._viewportScrollX=u,this._viewportScrollY=c,this._updateActiveObjectList(t,e),this._moveObserver=a.onPointerMoveObserver.add(D=>{const{offsetX:f,offsetY:p}=D;this._moving(f,p,l),this._hideControl(),l.scrolling(f,p,()=>{this._moving(f,p,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})}),n.stopPropagation()}))),t}dispose(){var t,e,n;(t=this._moveObserver)==null||t.dispose(),(e=this._upObserver)==null||e.dispose(),(n=this._cancelFocusObserver)==null||n.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(n=>{if(t[n]===void 0)return!0;this[n]=t[n]})}_updateControlChildren(){this._updateControlIterator((t,e)=>{const{left:n,top:i,width:o,height:a,scaleX:l,scaleY:u}=e.getState();t.getObjects().forEach(D=>{const f=D.oKey,p=this._checkTransformerType(f);if(!p)return!0;if(p==="__SpreadsheetTransformerOutline__")D.transformByState(this._getOutlinePosition(o,a,l,u));else{const{left:C,top:m}=this._getRotateAnchorPosition(p,a,o);D.transformByState({left:C,top:m})}}),t.transformByState({left:n,top:i})})}_anchorMoving(t,e,n,i){const{scrollX:o,scrollY:a}=n2(i),l=e-this._viewportScrollX+o,u=n-this._viewportScrollY+a,c=l-this._startOffsetX,D=u-this._startOffsetY;this._selectedObjectMap.forEach(f=>{const{left:p,top:C,width:m,height:F}=f,b={};switch(t){case"__SpreadsheetTransformerResizeLT__":b.left=p+c,b.top=C+D,b.width=m-c,b.height=F-D;break;case"__SpreadsheetTransformerResizeCT__":b.top=C+D,b.height=F-D;break;case"__SpreadsheetTransformerResizeRT__":b.top=C+D,b.width=m+c,b.height=F-D;break;case"__SpreadsheetTransformerResizeLM__":b.left=p+c,b.width=m-c;break;case"__SpreadsheetTransformerResizeRM__":b.width=c+m;break;case"__SpreadsheetTransformerResizeLB__":b.left=p+c,b.width=m-c,b.height=F+D;break;case"__SpreadsheetTransformerResizeCB__":b.height=D+F;break;case"__SpreadsheetTransformerResizeRB__":b.width=c+m,b.height=D+F;break}f.transformByState(b)}),this._updateControlChildren(),this.onChangingObservable.notifyObservers({objects:this._selectedObjectMap,moveX:c,moveY:D,type:1}),this._startOffsetX=l,this._startOffsetY=u}_attachEventToAnchor(t,e="__SpreadsheetTransformerResizeLT__"){this.disposeWithMe(_.toDisposable(t.onPointerDownObserver.add((n,i)=>{const{offsetX:o,offsetY:a}=n;this._startOffsetX=o,this._startOffsetY=a;const l=this._getTopScene();if(l==null)return;l.disableEvent();const u=a2.create(l);u.startScroll(o,a);const{scrollX:c,scrollY:D}=n2(u);this._viewportScrollX=c,this._viewportScrollY=D;const f=this._getRotateAnchorCursor(e);this._moveObserver=l.onPointerMoveObserver.add(p=>{const{offsetX:C,offsetY:m}=p;this._anchorMoving(e,C,m,u),u.scrolling(C,m,()=>{this._anchorMoving(e,C,m,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(_.toDisposable(t.onPointerDownObserver.add((e,n)=>{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()}),n.stopPropagation())})))}_getOutlinePosition(t,e,n,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=s1.NORTH_WEST_RESIZE;switch(t){case"__SpreadsheetTransformerRotate__":e=s1.MOVE;break;case"__SpreadsheetTransformerRotateLine__":e=s1.MOVE;break;case"__SpreadsheetTransformerResizeLT__":break;case"__SpreadsheetTransformerResizeCT__":e=s1.NORTH_RESIZE;break;case"__SpreadsheetTransformerResizeRT__":e=s1.NORTH_EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLM__":e=s1.WEST_RESIZE;break;case"__SpreadsheetTransformerResizeRM__":e=s1.EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLB__":e=s1.SOUTH_WEST_RESIZE;break;case"__SpreadsheetTransformerResizeCB__":e=s1.SOUTH_RESIZE;break;case"__SpreadsheetTransformerResizeRB__":e=s1.SOUTH_EAST_RESIZE;break}return e}_getRotateAnchorPosition(t,e,n){let i=-this.anchorSize/2,o=-this.anchorSize/2;switch(t){case"__SpreadsheetTransformerRotate__":i=n/2-this.rotateSize/2,o=-this.rotateAnchorOffset-this.borderSpacing-this.borderStrokeWidth*2-this.rotateSize;break;case"__SpreadsheetTransformerRotateLine__":i=n/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+=n/2,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRT__":i+=n+this.borderSpacing-this.borderStrokeWidth,o+=-this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLM__":i+=-this.borderSpacing-this.borderStrokeWidth,o+=e/2;break;case"__SpreadsheetTransformerResizeRM__":i+=n+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+=n/2,o+=e+this.borderSpacing-this.borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRB__":i+=n+this.borderSpacing-this.borderStrokeWidth,o+=e+this.borderSpacing-this.borderStrokeWidth;break}return{left:i,top:o}}_createResizeAnchor(t,e,n){const{height:i,width:o,scaleX:a,scaleY:l}=e.getState(),{left:u,top:c}=this._getRotateAnchorPosition(t,i,o),D=this._getRotateAnchorCursor(t),f=new p1(`${t}_${n}`,{zIndex:n-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,D,s1.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,n)=>{const i=this._selectedObjectMap.get(n);if(!i)return!0;t(e,i)})}_updateControl(){this._updateControlIterator((t,e)=>{const{left:n,top:i}=e.getState();t.transformByState({left:n,top:i}),t.show(),t.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(t=>{t.hide(),t.makeDirty(!0)})}_attachHover(t,e,n){this.disposeWithMe(_.toDisposable(t.onPointerEnterObserver.add(()=>{t.cursor=e}))),this.disposeWithMe(_.toDisposable(t.onPointerLeaveObserver.add(()=>{t.cursor=n})))}_clearControl(){this._transformerControlMap.forEach(t=>{t.dispose()}),this._transformerControlMap.clear(),this.onClearControlObservable.notifyObservers(null)}_createControl(t){const{left:e,top:n,height:i,width:o,angle:a,scaleX:l,scaleY:u,skewX:c,skewY:D,flipX:f,flipY:p}=t.getState(),C=t.oKey,m=this._selectedObjectMap.size,F=[];if(this.borderEnabled){const T=new p1(`__SpreadsheetTransformerOutline___${m}`,{zIndex:m-1,evented:!1,strokeWidth:this.borderStrokeWidth,stroke:this.borderStroke,...this._getOutlinePosition(o,i,l,u)});F.push(T)}if(this.resizeEnabled){const{left:T,top:y}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotateLine__",i,o),v=new p1(`__SpreadsheetTransformerRotateLine___${m}`,{zIndex:m-1,evented:!1,left:T,top:y,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 p1(`__SpreadsheetTransformerRotate___${m}`,{zIndex:m-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,s1.DEFAULT),F.push(v,A)}if(this.resizeEnabled)for(let T=0,y=this.enabledAnchors.length;T<y;T++){if(this.enabledAnchors[T]!==1)continue;const B=Ud[T],w=this._createResizeAnchor(B,t,m);this._attachEventToAnchor(w,B),F.push(w)}const b=new Dt(`__SpreadsheetTransformer___${m}`,...F);return b.zIndex=m,b.evented=!1,b.transformByState({left:e,top:n}),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,n){const{scrollX:i,scrollY:o}=n2(n),a=t-this._viewportScrollX+i,l=e-this._viewportScrollY+o,u=a-this._startOffsetX,c=l-this._startOffsetY;this._selectedObjectMap.forEach(D=>{D.translate(u+D.left,c+D.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 C1=class C1 extends _.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 x(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 n;const e=this._currentObject;if(e==null)(n=this._currentMouseEnterPicked)==null||n.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,n=!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 D;u.pointerId===void 0&&(u.pointerId=0),this._currentObject=this._getCurrentObject(u.offsetX,u.offsetY);const c=(D=this._currentObject)==null?void 0:D.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),D=c==null?void 0:c.triggerPointerDown(u);this._checkDirectSceneEventTrigger(!D,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),D=c==null?void 0:c.triggerPointerUp(u);this._checkDirectSceneEventTrigger(!D,c)&&this._scene.onPointerUpObserver.hasObservers()&&this._scene.onPointerUpObserver.notifyObservers(u),this._prePointerDoubleOrTripleClick(u)},this._onMouseWheel=u=>{const c=this._getCurrentObject(u.offsetX,u.offsetY),D=c==null?void 0:c.triggerMouseWheel(u);this._scene.getViewports().forEach(f=>{f.onMouseWheelObserver.hasObservers()&&f.onMouseWheelObserver.notifyObservers(u)}),this._checkDirectSceneEventTrigger(!D,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===g1.Keyboard&&(u.currentState===1&&this._onKeyDown(c),u.currentState===0&&this._onKeyUp(c)),(u.deviceType===g1.Mouse||u.deviceType===g1.Touch)&&(t&&u.inputIndex>=P.LeftClick&&u.inputIndex<=P.RightClick&&u.currentState===1&&this._onPointerDown(c),e&&u.inputIndex>=P.LeftClick&&u.inputIndex<=P.RightClick&&u.currentState===0&&this._onPointerUp(c),n&&(u.inputIndex===P.Horizontal||u.inputIndex===P.Vertical||u.inputIndex===P.DeltaHorizontal||u.inputIndex===P.DeltaVertical)?this._onPointerMove(c):i&&(u.inputIndex===P.MouseWheelX||u.inputIndex===P.MouseWheelY||u.inputIndex===P.MouseWheelZ)?this._onMouseWheel(c):o&&u.currentState===2?this._onPointerEnter(c):a&&u.currentState===3&&this._onPointerLeave(c))}),this.disposeWithMe(_.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 n;return(n=this._scene)==null?void 0:n.pick(x.FromArray([t,e]))}_checkDirectSceneEventTrigger(t,e){let n=!1;e==null&&(n=!0);let i=!0;if(e&&e.classType===k.BASE_OBJECT){const o=e.getScene();o&&(i=o.getParent().classType!==k.SCENE_VIEWER)}return!this._scene.evented&&t&&i||n}_isPointerSwiping(t,e){return Math.abs(this._startingPosition.x-t)>C1.DragMovementThreshold||Math.abs(this._startingPosition.y-e)>C1.DragMovementThreshold}_prePointerDoubleOrTripleClick(t){var o,a,l,u;const{clientX:e,clientY:n}=t;this._isPointerSwiping(e,n)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},C1.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState&&((a=(o=this._scene)==null?void 0:o.pick(x.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(x.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},C1.TripleClickDelay)),this._startingPosition.x=e,this._startingPosition.y=n}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}};h(C1,"DragMovementThreshold",2),h(C1,"LongPressDelay",500),h(C1,"DoubleClickDelay",500),h(C1,"TripleClickDelay",300),h(C1,"ExclusiveDoubleClickMode",!1);let w6=C1;class Kd extends _.Disposable{constructor(t){super();h(this,"onTransformChangeObservable",new _.Observable);h(this,"onFileLoadedObservable",new _.Observable);h(this,"onPointerDownObserver",new _.Observable);h(this,"onPointerMoveObserver",new _.Observable);h(this,"onPointerUpObserver",new _.Observable);h(this,"onPointerEnterObserver",new _.Observable);h(this,"onPointerLeaveObserver",new _.Observable);h(this,"onDblclickObserver",new _.Observable);h(this,"onTripleClickObserver",new _.Observable);h(this,"onMouseWheelObserver",new _.Observable);h(this,"onKeyDownObservable",new _.Observable);h(this,"onKeyUpObservable",new _.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 i1);h(this,"_evented",!0);this._sceneKey=t}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(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 gt extends Kd{constructor(t,e,n){var i;super(t);h(this,"_layers",[]);h(this,"_viewports",[]);h(this,"_cursor",s1.DEFAULT);h(this,"_defaultCursor",s1.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,n&&this.transformByState(n),this._parent.classType===k.ENGINE){const o=this._parent;o.addScene(this),o.hasActiveScene()||o.setActiveScene(t),this._inputManager=new w6(this)}else this._parent.classType===k.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(_.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===k.SCENE_VIEWER&&(e=t.ancestorScaleX),this.scaleX*e}get ancestorScaleY(){const t=this.getParent();let e=1;return t.classType===k.SCENE_VIEWER&&(e=t.ancestorScaleY),this.scaleY*e}set cursor(t){this.setCursor(t)}attachControl(t=!0,e=!0,n=!0,i=!0){var o;if(this._parent.classType===k.ENGINE)return(o=this._inputManager)==null||o.attachControl(t,e,n,i),this}detachControl(){var t;return(t=this._inputManager)==null||t.detachControl(),this}makeDirty(t=!0){var e;return this._layers.forEach(n=>{n.makeDirty(t)}),this._parent.classType===k.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 n=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:n,height:i}}),this}scale(t,e){const n=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:n,scaleY:i}}),this}scaleBy(t,e){const n=this.scaleX;t!==void 0&&(this.scaleX+=t);const i=this.scaleY;return e!==void 0&&(this.scaleY+=e),this.scaleX=Y2(this.scaleX,1),this.scaleY=Y2(this.scaleY,1),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:n,scaleY:i}}),this}transformByState(t){const e=Object.keys(t),n={};e.length!==0&&(e.forEach(i=>{t[i]!==void 0&&(n[i]=this[i],this[i]=t[i])}),this._setTransForm(),this.onTransformChangeObservable.notifyObservers({type:t1.all,value:t,preValue:n}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===k.ENGINE)return this._parent;let t=this._parent;for(;t;){if(t.classType===k.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 n=this._layers[e];n.zIndex>=t&&(t=n.zIndex)}return t}addLayer(...t){this._layers.push(...t)}addObject(t,e=1){var n;return(n=this.getLayer(e))==null||n.addObject(t),this._addObject$.next(this),this}setObjectBehavior(t){t.parent||(t.parent=this),t.onIsAddedToParentObserver.notifyObservers(this)}addObjects(t,e=1){var n;return(n=this.getLayer(e))==null||n.addObjects(t),this._addObject$.next(this),this}removeObject(t){if(t==null)return;const e=this.getLayers();for(const n of e)n.removeObject(t);return this}removeObjects(t){if(t==null)return;const e=this.getLayers();for(const n of e)n.removeObjects(t);return this}getAllObjects(){const t=[];this._layers.sort(_.sortRules);for(const e of this._layers)t.push(...e.getObjectsByOrder());return t}getAllObjectsByOrder(t=!1){const e=[],n=t?_.sortRulesByDesc:_.sortRules;this._layers.sort(n);for(const i of this._layers)e.push(...i.getObjectsByOrder().sort(n));return e}getAllObjectsByOrderForPick(t=!1){const e=[],n=t?_.sortRulesByDesc:_.sortRules;this._layers.sort(n);for(const i of this._layers)e.push(...i.getObjectsByOrderForPick().sort(n));return e}getObject(t){for(const e of this._layers){const n=e.getObjectsByOrder();for(const i of n)if(i.oKey===t)return i}}fuzzyMathObjects(t){const e=[];for(const n of this._layers){const i=n.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,n=this._viewports.length;e<n;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 n;if(!this.isDirty())return;!t&&((n=this.getEngine())==null||n.clearCanvas());const e=this._layers.sort(_.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,n)=>{this.render(t),F2(e)})}openTransformer(t){this._transformer||(this._transformer=new Vd(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,n=0;if(t){const i=t.actualScrollX||0,o=t.actualScrollY||0;e+=i,n+=o}return{x:e,y:n}}getRelativeCoord(t){let e=this.getParent();const n=[];for(;e;)(e.classType===k.SCENE||e.classType===k.SCENE_VIEWER)&&n.push(e),e=(e==null?void 0:e.getParent)&&(e==null?void 0:e.getParent());n.reverse();for(const i of n)if(i.classType===k.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===k.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===k.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:n}=this.getAncestorScale();return{scaleX:e*t,scaleY:n*t}}dispose(){var t,e;this.getLayers().forEach(n=>{n.dispose()}),this.getViewports().forEach(n=>{n.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 n=e.pickScrollBar(t);if(n)return n;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===k.GROUP)continue;let D=i;if(c.isInGroup&&c.parent.classType===k.GROUP){const{cumLeft:f,cumTop:p}=this._getGroupCumLeftRight(c);D=D.clone().add(x.FromArray([-f,-p]))}if(c.isHit(D)){if(c.classType===k.SCENE_VIEWER){const f=c.pick(D);f?o=f:o=c.getActiveSubScene()}else o=c;break}else if(c.classType===k.SCENE_VIEWER&&c.allowSelectedClipElement()){const f=c.pick(D);if(f){o=f;break}}}return!o&&this._parent.classType===k.ENGINE?this:o}triggerKeyDown(t){this.onKeyDownObservable.notifyObservers(t)}triggerKeyUp(t){this.onKeyUpObservable.notifyObservers(t)}triggerPointerUp(t){var e,n;return!((e=this.onPointerUpObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===k.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerUp(t),!1):!0}triggerMouseWheel(t){var e,n;return!((e=this.onMouseWheelObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===k.SCENE_VIEWER?((n=this._parent)==null||n.triggerMouseWheel(t),!1):!0}triggerPointerMove(t){var e,n;return!((e=this.onPointerMoveObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===k.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerMove(t),!1):!0}triggerDblclick(t){var e,n;return!((e=this.onDblclickObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===k.SCENE_VIEWER?((n=this._parent)==null||n.triggerDblclick(t),!1):!0}triggerTripleClick(t){var e,n;return!((e=this.onTripleClickObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===k.SCENE_VIEWER?((n=this._parent)==null||n.triggerTripleClick(t),!1):!0}triggerPointerDown(t){var e,n;return!((e=this.onPointerDownObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===k.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerDown(t),!1):!0}triggerPointerOut(t){var e;return this._parent.classType===k.SCENE_VIEWER?((e=this._parent)==null||e.triggerPointerOut(t),!1):!0}triggerPointerLeave(t){var e,n;return!((e=this.onPointerLeaveObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===k.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerLeave(t),!1):!0}triggerPointerOver(t){var e;return this._parent.classType===k.SCENE_VIEWER?((e=this._parent)==null||e.triggerPointerOver(t),!1):!0}triggerPointerEnter(t){var e,n;return!((e=this.onPointerEnterObserver.notifyObservers(t))!=null&&e.stopPropagation)&&this._parent.classType===k.SCENE_VIEWER?((n=this._parent)==null||n.triggerPointerEnter(t),!1):!0}_createDefaultLayer(t=1){const e=new _t(this,[],t);return this.addLayer(e),e}_setTransForm(){const t=i1.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,n=0,i=0;for(;e.classType===k.GROUP;){const{left:o,top:a}=e;n+=o,i+=a,e=e.parent}return{cumLeft:n,cumTop:i}}}const Jd={width:1500,height:1e3},Zd="_UNIVER_SCENE_";class pt{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 G2),this._defaultEngine}dispose(){this._renderMap.forEach(s=>{this._disposeItem(s)}),this._renderMap.clear(),this._currentRender$.complete()}createRenderWithParent(s,t){const e=this.getRenderById(t);if(e==null)throw new Error("parent render is null");const{scene:n,engine:i}=e,o=this._createRender(s,i,!1),a=o.scene,l=new u7(s);return l.addSubScene(a),n.addObject(l),o}createRenderWithEngine(s,t){return this._createRender(s,t,!1)}create(s){this._createRender$.next(s)}createRender(s){const t=new G2;return this._createRender(s,t)}_createRender(s,t,e=!0){const n=this.getRenderById(s);let i=!0;n!=null&&n.engine===t&&(i=!1),this._disposeItem(n,i);const{width:o,height:a}=Jd,l=new gt(Zd+s,t,{width:o,height:a}),u={unitId:s,engine:t,scene:l,mainComponent:null,components:new Map,isMainScene:e};return this.addItem(s,u),u}addItem(s,t){this._renderMap.set(s,t)}removeItem(s){const t=this._renderMap.get(s);t!=null&&this._disposeItem(t),this._renderMap.delete(s)}has(s){return this._renderMap.has(s)}setCurrent(s){this._currentUnitId=s,this._currentRender$.next(s)}getCurrent(){return this._renderMap.get(this._currentUnitId)}getFirst(){return[...this.getRenderAll().values()][0]}getRenderById(s){return this._renderMap.get(s)}getRenderAll(){return this._renderMap}_disposeItem(s,t=!0){if(s==null)return;const{engine:e,scene:n,components:i,mainComponent:o}=s;i==null||i.forEach(a=>{a.dispose()}),o==null||o.dispose(),n.dispose(),t&&e.dispose()}}const mt=G1.createIdentifier("univer.render-manager-service");var qd=Object.defineProperty,Qd=Object.getOwnPropertyDescriptor,tf=(r,s,t,e)=>{for(var n=e>1?void 0:e?Qd(s,t):s,i=r.length-1,o;i>=0;i--)(o=r[i])&&(n=(e?o(s,t,n):o(n))||n);return e&&n&&qd(s,t,n),n},ef=(r,s)=>(t,e)=>s(t,e,r);const Ft=G1.createIdentifier("univer.render-engine"),sf="render-engine";var p6;exports.UniverRenderEnginePlugin=(p6=class extends _.Plugin{constructor(s,t){super(sf),this._injector=t,this._injector.add([Ft,{useFactory:()=>new G2}]),this._injector.add([mt,{useClass:pt}])}},h(p6,"type",_.PluginType.Univer),p6);exports.UniverRenderEnginePlugin=tf([ef(1,G1.Inject(G1.Injector))],exports.UniverRenderEnginePlugin);const Ct=["radius"];class l7 extends V1{constructor(t,e){super(t,e);h(this,"_radius");this._radius=(e==null?void 0:e.radius)||10,this._setFixBoundingBox(),this.onTransformChangeObservable.add(n=>{const{type:i,value:o,preValue:a}=n;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:n}=e;n=n!=null?n:10,t.beginPath(),e.strokeDashArray&&t.setLineDash(e.strokeDashArray),t.beginPath(),t.arc(n,n,n||0,0,Math.PI*2,!1),t.closePath(),this._renderPaintInOrder(t,e)}toJson(){const t={};return Ct.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}_draw(t){l7.drawWith(t,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}}class nf{}class rf{}class U2 extends V1{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 n,i,o;(n=e.success)==null||n.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 n;if((n=e._native)!=null&&n.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,n){return new U2(t,{url:e,success:n})}getPictureProps(){return this._props}_draw(t){U2.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 Et=["pointsGroup"];class s6 extends V1{constructor(t,e){super(t,e);h(this,"_pointsGroup");this._pointsGroup=(e==null?void 0:e.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChangeObservable.add(n=>{const{type:i,value:o,preValue:a}=n;(i===t1.resize||i===t1.all)&&this.resizePolygon(a)})}get pointsGroup(){return this._pointsGroup}static drawWith(t,e){let{pointsGroup:n}=e;n=n!=null?n:[[]],e.strokeDashArray&&t.setLineDash(e.strokeDashArray),t.beginPath();for(const i of n){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:n,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 D=u/i,f=c/o;this.scaleX+=D,this.scaleY+=f,this.left=this.left-e*D,this.top=this.top-n*f,this._setTransForm()}toJson(){const t={};return Et.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}getState(){const{left:t,top:e,width:n,height:i}=this.getRect();return{left:t,top:e,width:n,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:n,height:i}=this._getSelfRect();return{left:t*this.scaleX+this.left,top:e*this.scaleY+this.top,width:n*this.scaleX,height:i*this.scaleY}}_draw(t){s6.drawWith(t,this)}_setFixBoundingBox(){const{width:t,height:e,left:n,top:i}=this._getSelfRect();this.left=this.left+n,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-=n,l.y-=i;this._setTransForm()}_getSelfRect(){const t=this.pointsGroup;let e=t[0][0].x,n=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),n=Math.max(n,l.x),i=Math.min(i,l.y),o=Math.max(o,l.y);return{left:e,top:i,width:n-e,height:o-i}}}const A6=["text","richText"];class of extends R1{constructor(t,e,n){super(e);h(this,"_documentData");h(this,"_documentSkeleton");h(this,"_documents");h(this,"_ff");h(this,"_fs",12);h(this,"_it",_.BooleanNumber.FALSE);h(this,"_bl",_.BooleanNumber.FALSE);h(this,"_ul",{s:_.BooleanNumber.FALSE});h(this,"_st",{s:_.BooleanNumber.FALSE});h(this,"_ol",{s:_.BooleanNumber.FALSE});h(this,"_bg");h(this,"_bd");h(this,"_cl");this._localeService=t,n!=null&&n.richText?this._documentData=n.richText:n&&(this._fs=n.fs,this._ff=n.ff,this._it=n.it,this._bl=n.bl,this._ul=n.ul,this._st=n.st,this._ol=n.ol,this._bg=n.bg,this._bd=n.bd,this._cl=n.cl,this._documentData=this._convertToDocumentData(n.text||""));const i=new _.DocumentDataModel(this._documentData),o=new M1(i);this._documentSkeleton=o2.create(o,this._localeService),this._documents=new I2(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(n),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,n=e[e.length-1],{width:i,height:o}=n;return{width:i,height:o}}setProps(t){if(!t)return;const e=Object.keys(t);if(e.length!==0)return e.forEach(n=>{if(t[n]===void 0)return!0;A6.indexOf(n)===-1&&(this[`_${n}`]=t[n])}),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 n=this.transform.getMatrix();return t.save(),t.transform(n[0],n[1],n[2],n[3],n[4],n[5]),this._draw(t),t.restore(),this.makeDirty(!1),this}toJson(){const t={};return A6.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}${_.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 af extends _.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,n,i,o;return(e=this.horizonThumbRect)!=null&&e.isHit(t)?this.horizonThumbRect:(n=this.verticalThumbRect)!=null&&n.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,n,i,o;(t=this.horizonBarRect)==null||t.dispose(),(e=this.horizonThumbRect)==null||e.dispose(),(n=this.verticalBarRect)==null||n.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,n=0,i=0){}makeDirty(t){}render(t,e=0,n=0){}}const t2=17;class c7 extends af{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 c7(t,e)}dispose(){var t,e,n,i;super.dispose(),(t=this._mainScene)==null||t.onPointerMoveObserver.remove(this._horizonPointerMoveObserver),(e=this._mainScene)==null||e.onPointerMoveObserver.remove(this._verticalPointerMoveObserver),(n=this._mainScene)==null||n.onPointerUpObserver.remove(this._horizonPointerUpObserver),(i=this._mainScene)==null||i.onPointerUpObserver.remove(this._verticalPointerUpObserver),this._mainScene=null,this._view.removeScrollBar()}render(t,e=0,n=0){const{scrollX:i,scrollY:o}=this._view;t.save();const l=new i1([1,0,0,1,e,n]).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,n=0,i=0){var o;t===0&&t===0||(this._resizeHorizontal(t,e,n),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,n,i,o,a;(e=this.horizonBarRect)==null||e.makeDirty(t),(n=this.horizonThumbRect)==null||n.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,n,i,o;return(e=this.horizonThumbRect)!=null&&e.isHit(t)?this.horizonThumbRect:(n=this.verticalThumbRect)!=null&&n.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(n=>{t[n]!==void 0&&(this[`${n}`]=t[n])})}_resizeHorizontal(t,e,n){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)/n*this.thumbLengthRatio,this.horizontalThumbWidth<t2&&(this.horizontalMinusMiniThumb=t2-this.horizontalThumbWidth,this.horizontalThumbWidth=t2),(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,n){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/n*this.thumbLengthRatio,this.verticalThumbHeight<t2&&(this.verticalMinusMiniThumb=t2-this.verticalThumbHeight,this.verticalThumbHeight=t2),(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 p1("__horizonBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.horizonThumbRect=new p1("__horizonThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableVertical&&(this.verticalBarRect=new p1("__verticalBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.verticalThumbRect=new p1("__verticalThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableHorizontal&&this.enableVertical&&(this.placeholderBarRect=new p1("__placeholderBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor})),this._initialVerticalEvent(),this._initialHorizontalEvent()}_initialVerticalEvent(){var e,n,i,o;if(!this.enableVertical)return;const t=this._mainScene||this._view.scene;(e=this.verticalThumbRect)==null||e.on(b1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.verticalThumbRect)),(n=this.verticalThumbRect)==null||n.on(b1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.verticalThumbRect)),(i=this.verticalBarRect)==null||i.on(b1.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(b1.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(n,i)=>{if(this._isHorizonMove||this._isVerticalMove)return;e.setProps({fill:t}),this.makeViewDirty(!0)}}_initialHorizontalEvent(){var e,n,i,o;if(!this.enableHorizontal)return;const t=this._mainScene||this._view.scene;(e=this.horizonThumbRect)==null||e.on(b1.PointerEnter,this._hoverFunc(this.thumbHoverBackgroundColor,this.horizonThumbRect)),(n=this.horizonThumbRect)==null||n.on(b1.PointerLeave,this._hoverFunc(this.thumbBackgroundColor,this.horizonThumbRect)),(i=this.horizonBarRect)==null||i.on(b1.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(b1.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 uf{}const bt=["checked"];class h7 extends V1{constructor(t,e){super(t,e);h(this,"_checked",!1);_.Tools.isDefine(e.checked)&&(this._checked=e.checked)}get checked(){return this._checked}static drawWith(t,e){const{width:n=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"),D=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(n/16,i/16),o&&(t.fillStyle=o),a?t.fill(D,"evenodd"):t.fill(c,"evenodd"),t.restore()}_draw(t){h7.drawWith(t,this)}toJson(){const t={};return bt.forEach(e=>{this[e]&&(t[e]=this[e])}),{...super.toJson(),...t}}}function lf(r,s){if(s.startRow>=r.endRow||s.endRow<=r.startRow||s.startColumn>=r.endColumn||s.endColumn<=r.startColumn)return[r];const t=[];s.startRow>r.startRow&&t.push({startRow:r.startRow,startColumn:r.startColumn,endRow:s.startRow,endColumn:r.endColumn}),s.endRow<r.endRow&&t.push({startRow:s.endRow,startColumn:r.startColumn,endRow:r.endRow,endColumn:r.endColumn});const e=Math.max(r.startRow,s.startRow),n=Math.min(r.endRow,s.endRow);return s.startColumn>r.startColumn&&t.push({startRow:e,startColumn:r.startColumn,endRow:n,endColumn:s.startColumn}),s.endColumn<r.endColumn&&t.push({startRow:e,startColumn:s.endColumn,endRow:n,endColumn:r.endColumn}),t}const cf=3;class hf{constructor(s,t,e){h(this,"scrollX",0);h(this,"scrollY",0);h(this,"actualScrollX",0);h(this,"actualScrollY",0);h(this,"onMouseWheelObserver",new _.Observable);h(this,"onScrollAfterObserver",new _.Observable);h(this,"onScrollBeforeObserver",new _.Observable);h(this,"onScrollStopObserver",new _.Observable);h(this,"onScrollByBarObserver",new _.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=s,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(s){this._width=s}set height(s){this._height=s}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set top(s){var t,e;this._topOrigin=s,this._top=A1(s,(e=(t=this._scene)==null?void 0:t.getParent())==null?void 0:e.height)}set left(s){var t;this._leftOrigin=s,this._left=A1(s,(t=this.scene.getParent())==null?void 0:t.width)}set bottom(s){var t;this._bottomOrigin=s,this._bottom=A1(s,(t=this.scene.getParent())==null?void 0:t.height)}set right(s){var t;this._rightOrigin=s,this._right=A1(s,(t=this.scene.getParent())==null?void 0:t.width)}enable(){this._active=!0}disable(){this._active=!1}resetSizeAndScrollBar(){this._resizeCacheCanvasAndScrollBar()}setScrollBar(s){this._scrollBar=s,this._resizeCacheCanvasAndScrollBar()}removeScrollBar(){this._scrollBar=null}resize(s){Object.keys(s).length!==0&&(this._setWithAndHeight(s),this._resizeCacheCanvasAndScrollBar())}setPadding(s){const{startX:t=0,startY:e=0,endX:n=0,endY:i=0}=s;this._paddingStartX=t,this._paddingEndX=n,this._paddingStartY=e,this._paddingEndY=i,this._resizeCacheCanvasAndScrollBar()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}scrollTo(s,t=!0){return this._scroll(0,s,t)}scrollBy(s,t=!0){return this._scroll(1,s,t)}scrollByBar(s,t=!0){var i,o;this._scroll(1,s,t);const{x:e,y:n}=s;this.onScrollByBarObserver.notifyObservers({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,x:e,y:n,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(s=0,t=0,e=!0){if(!this._scrollBar||this.isActive===!1)return;const n=s+this._paddingStartX,i=t+this._paddingStartY,o=this.getBarScroll(n,i);return this.scrollBy(o,e)}getBarScroll(s,t){let e=s-this._paddingStartX,n=t-this._paddingStartY;if(this._scrollBar){e*=this._scrollBar.ratioScrollX,n*=this._scrollBar.ratioScrollY;const{scaleX:i,scaleY:o}=this.scene;e*=i,n*=o}else this.scrollX!==void 0&&(e=this.scrollX),this.scrollY!==void 0&&(n=this.scrollY);return{x:e,y:n}}getActualScroll(s,t){let e=s,n=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?(n/=this._scrollBar.ratioScrollY,n/=l):this.actualScrollY!==void 0?n=this.actualScrollY:n=0}else this.actualScrollX!==void 0?e=this.actualScrollX:e=0,this.actualScrollY!==void 0?n=this.actualScrollY:n=0;const{scaleX:i,scaleY:o}=this._scene.getPrecisionScale();return{x:z(e+this._paddingStartX,i),y:z(n+this._paddingStartY,o)}}getTransformedScroll(){const s=this.scrollX,t=this.scrollY;return this.getActualScroll(s,t)}getScrollBar(){return this._scrollBar}updateScroll(s){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;const{scrollX:t,scrollY:e,actualScrollX:n,actualScrollY:i}=s;return t!==void 0&&(this.scrollX=t),e!==void 0&&(this.scrollY=e),n!==void 0&&(this.actualScrollX=n),i!==void 0&&(this.actualScrollY=i),this}getScrollBarTransForm(){const s=i1.create();return s.multiply(i1.create([1,0,0,1,this._left,this._top])),s}render(s,t=[],e=!1){var c;if(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)return;const n=s||((c=this._scene.getEngine())==null?void 0:c.getCanvas().getContext()),i=this._scene.transform.clone();i.multiply(i1.create([1,0,0,1,-this.actualScrollX||0,-this.actualScrollY||0]));const o=n,a=i.getMatrix(),l=this.getScrollBarTransForm().getMatrix();if(o.save(),this._renderClipState){o.beginPath();const{scaleX:D,scaleY:f}=this._getBoundScale(a[0],a[3]);o.rect(this.left,this.top,(this.width||0)*D,(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(D=>{D.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(s){const t=this.scene.transform.clone().invert(),e=this.getTransformedScroll();return t.applyPoint(s).add(x.FromArray([e.x,e.y]))}getAbsoluteVector(s){const t=this.scene.transform.clone(),e=this.getTransformedScroll();return t.applyPoint(s.subtract(x.FromArray([e.x,e.y])))}onMouseWheel(s,t){if(!this._scrollBar||this.isActive===!1)return;let e;if(s.inputIndex===P.MouseWheelX){const n=Math.abs(s.deltaX),i=this._scene.width,a=(this.width||1)/i*n;s.deltaX>0?e=this.scrollBy({x:a}):e=this.scrollBy({x:-a}),this._scene.getParent().classType===k.SCENE_VIEWER?e!=null&&e.isLimitedX||t.stopPropagation():this._isWheelPreventDefaultX?s.preventDefault():e!=null&&e.isLimitedX||s.preventDefault()}if(s.inputIndex===P.MouseWheelY){const n=Math.abs(s.deltaY),i=this._scene.height;let a=(this.height||1)/i*n;s.shiftKey?(a*=cf,s.deltaY>0?e=this.scrollBy({x:a}):e=this.scrollBy({x:-a}),this._scene.getParent().classType===k.SCENE_VIEWER?e!=null&&e.isLimitedX||t.stopPropagation():this._isWheelPreventDefaultX?s.preventDefault():e!=null&&e.isLimitedX||s.preventDefault()):(s.deltaY>0?e=this.scrollBy({y:a}):e=this.scrollBy({y:-a}),this._scene.getParent().classType===k.SCENE_VIEWER?e!=null&&e.isLimitedY||t.stopPropagation():this._isWheelPreventDefaultY?s.preventDefault():e!=null&&e.isLimitedY||s.preventDefault())}s.inputIndex,P.MouseWheelZ,this._scene.makeDirty(!0)}isHit(s){if(this.isActive===!1)return;const{width:t,height:e}=this._getViewPortSize();return s.x>=this.left&&s.x<=this.left+(t||0)&&s.y>=this.top&&s.y<=this.top+(e||0)}pickScrollBar(s){if(!this._scrollBar)return;const e=this.getScrollBarTransForm().invert().applyPoint(s);return this._scrollBar.pick(e)}openClip(){this._renderClipState=!0}closeClip(){this._renderClipState=!1}dispose(){var s;this.onMouseWheelObserver.clear(),this.onScrollAfterObserver.clear(),this.onScrollBeforeObserver.clear(),this.onScrollStopObserver.clear(),(s=this._scrollBar)==null||s.dispose(),this._scene.removeViewport(this._viewPortKey)}limitedScroll(){var i,o;if(!this._scrollBar)return;const s=(i=this._scrollBar)==null?void 0:i.limitX,t=(o=this._scrollBar)==null?void 0:o.limitY;let e=!0,n=!0;return this.scrollX<0?this.scrollX=0:this.scrollX>s?this.scrollX=s:e=!1,this.scrollY<0?this.scrollY=0:this.scrollY>t?this.scrollY=t:n=!1,{isLimitedX:e,isLimitedY:n}}_resizeCacheCanvasAndScrollBar(){const s=this.actualScrollX,t=this.actualScrollY,{width:e,height:n}=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,n,i,o);const{x:a,y:l}=this.getBarScroll(s,t);this.scrollTo({x:a,y:l})}}_getViewPortSize(){const s=this._scene.getParent(),{width:t,height:e}=s,{scaleX:n=1,scaleY:i=1}=this._scene;let o,a,l=this.left*n,u=this.top*i;return this._leftOrigin!=null&&(l=this._leftOrigin*n),this._topOrigin!=null&&(u=this._topOrigin*i),this._widthOrigin!=null?o=this._widthOrigin*n:(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(s,t,e,n=!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:s.x,actualScrollY:s.y,limitX:(i=this._scrollBar)==null?void 0:i.limitX,limitY:(o=this._scrollBar)==null?void 0:o.limitY,isTrigger:n})},2)}_scroll(s,t,e=!0){var l,u,c,D;const{x:n,y:i}=t;if(this._scrollBar==null)return;n!==void 0&&(this._scrollBar.hasHorizonThumb()?s===1?this.scrollX+=n:this.scrollX=n:this.scrollX=0),i!==void 0&&(this._scrollBar.hasVerticalThumb()?s===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:n,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:n,y:i,actualScrollX:a.x,actualScrollY:a.y,limitX:(c=this._scrollBar)==null?void 0:c.limitX,limitY:(D=this._scrollBar)==null?void 0:D.limitY,isTrigger:e}),this._triggerScrollStop(a,n,i,e),o}_calViewportRelativeBounding(){var S;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,n=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,D=((a||0)+this.left)*i,f=this.top*n,p=((l||0)+this.top)*o,C=this.getRelativeVector(x.FromArray([c,f])),m=this.getRelativeVector(x.FromArray([D,p])),F={top:C.y,left:C.x,right:m.x,bottom:m.y},b=(S=this._preViewportBound)==null?void 0:S.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:p,right:D},viewPortKey:this.viewPortKey}}_diffViewBound(s,t){if(t==null)return[s];const e={startRow:s.top,endRow:s.bottom,startColumn:s.left,endColumn:s.right},n={startRow:t.top,endRow:t.bottom,startColumn:t.left,endColumn:t.right};return lf(e,n).map(o=>{const{startRow:a,endRow:l,startColumn:u,endColumn:c}=o;return{left:u,top:a,right:c,bottom:l}})}_drawScrollbar(s){if(!this._scrollBar)return;const t=this._scene.getParent();t.classType===k.SCENE_VIEWER?this._scrollBar.render(s):t.classType===k.ENGINE&&this._scrollBar.render(s)}_setWithAndHeight(s){this.top=(s==null?void 0:s.top)||0,this.left=(s==null?void 0:s.left)||0,this.bottom=(s==null?void 0:s.bottom)||0,this.right=(s==null?void 0:s.right)||0,_.Tools.isDefine(s==null?void 0:s.width)?(this.width=s==null?void 0:s.width,this._widthOrigin=this.width,this._isRelativeX=!1):(this.width=null,this._widthOrigin=null,this._isRelativeX=!0),_.Tools.isDefine(s==null?void 0:s.height)?(this.height=s==null?void 0:s.height,this._heightOrigin=this.height,this._isRelativeY=!1):(this.height=null,this._heightOrigin=null,this._isRelativeY=!0)}_getBoundScale(s,t){return s=this._isRelativeX&&s<1?1:s,t=this._isRelativeY&&t<1?1:t,{scaleX:s,scaleY:t}}}var X2=(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))(X2||{});const e2={page:0,section:1,column:2,line:3,divide:4,glyph:5};function St(r,s){return r.page>s.page?!1:r.page<s.page?!0:r.section>s.section?!1:r.section<s.section?!0:r.column>s.column?!1:r.column<s.column?!0:r.line>s.line?!1:r.line<s.line?!0:r.divide>s.divide?!1:r.divide<s.divide?!0:r.glyph>s.glyph?!1:(r.glyph<s.glyph,!0)}function R6(r,s){return St(r,s)?{start:r,end:s}:{start:s,end:r}}function W7(r){const s=r.length;if(s===0)return;const t=r[0],e=r[s-1],n=r.length===1&&t.collapsed;return{startOffset:t.startOffset,endOffset:e.endOffset,collapsed:n}}function Df(r,s,t,e){let n=e,i=e;for(let o=0;o<r.length;o++){const l=r[o].count;o<s&&(n+=l),o<t&&(i+=l)}return{startOffset:n,endOffset:i}}class Tt{constructor(s,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=s,this._docSkeleton=t}getRangePointData(s,t){const e=[],n=[],i=[];if(s==null||t==null)return{borderBoxPointGroup:e,contentBoxPointGroup:n,cursorList:i};const{start:o,end:a}=R6(s,t);return this._selectionIterator(o,a,(l,u,c,D,f,p)=>{const{lineHeight:C,marginTop:m,contentHeight:F}=p,{glyphGroup:b,st:S}=f,{x:T,y}=this._liquid;let v,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,L=(O==null?void 0:O.width)||0,N=(w==null?void 0:w.glyphType)===m1.LIST,{startOffset:$,endOffset:M}=Df(b,l,u,S),X=o.glyph===l&&c?o.isBack:!0,H=a.glyph===u&&D?a.isBack:!1,j=o===a;if(l===0&&u===b.length-1)v={startX:T+A+(N?I:0),startY:y,endX:T+R+L,endY:y+C},B={startX:T+A+(N?I:0),startY:y+m,endX:T+R+L,endY:y+m+F};else{const W=X&&!N;v={startX:T+A+(W?0:I),startY:y,endX:T+R+(H?0:L),endY:y+C},B={startX:T+A+(W?0:I),startY:y+m,endX:T+R+(H?0:L),endY:y+m+F}}e.push(this._pushToPoints(v)),n.push(this._pushToPoints(B)),i.push({startOffset:X?$:$+w.count,endOffset:H?M:M+O.count,collapsed:j})}),{borderBoxPointGroup:e,contentBoxPointGroup:n,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(s=0,t,e,n){n===t?this._currentStartState[s]=1:this._currentStartState[s]=0,n===e?this._currentEndState[s]=2:this._currentEndState[s]=0}_checkPreviousNodePositionState(s,t=!0){let e=s,n;for(;e>=0;){const i=X2[e];let o;if(t?o=this._currentStartState[i]:o=this._currentEndState[i],o===void 0)return;if(n===void 0&&(n=o),o!==n)return 0;e--}return n}_getSelectionRuler(s,t,e,n,i){let o=0,a=n;const l=X2[s],u=X2[s+1];if(u===null||l===null)return{start_next:o,end_next:a};const c=t[l],D=e[l];this._setNodePositionState(l,c,D,i);const f=this._checkPreviousNodePositionState(s),p=this._checkPreviousNodePositionState(s,!1);return f===1&&(o=t[u]),p===2&&(a=e[u]),{start_next:o,end_next:a}}_pushToPoints(s){const{startX:t,startY:e,endX:n,endY:i}=s,o=[];return o.push({x:t,y:e}),o.push({x:n,y:e}),o.push({x:n,y:i}),o.push({x:t,y:i}),o.push({x:t,y:e}),o}_selectionIterator(s,t,e){const n=this._docSkeleton;if(!n)return[];this._liquid.reset();const i=n.getSkeletonData();if(i==null)return[];const o=i.pages,{page:a}=s,{page:l}=t;if(this._resetCurrentNodePositionState(),this._documentOffsetConfig==null)return[];const{pageLayoutType:u,pageMarginLeft:c,pageMarginTop:D}=this._documentOffsetConfig;for(let f=0;f<=a-1;f++){const p=o[f];this._liquid.translatePage(p,u,c,D)}for(let f=a;f<=l;f++){const p=o[f],C=p.sections,{start_next:m,end_next:F}=this._getSelectionRuler(e2.page,s,t,C.length-1,f);this._liquid.translateSave(),this._liquid.translatePagePadding(p);for(let b=m;b<=F;b++){const S=C[b],T=S.columns,{start_next:y,end_next:v}=this._getSelectionRuler(e2.section,s,t,T.length-1,b);this._liquid.translateSection(S);for(let B=y;B<=v;B++){const w=T[B],O=w.lines,{start_next:A,end_next:I}=this._getSelectionRuler(e2.column,s,t,O.length-1,B);this._liquid.translateColumn(w);for(let R=A;R<=I;R++){const L=O[R],{divides:N}=L,{start_next:$,end_next:M}=this._getSelectionRuler(e2.line,s,t,N.length-1,R);this._liquid.translateSave(),this._liquid.translateLine(L);for(let X=$;X<=M;X++){const H=N[X];this._liquid.translateSave(),this._liquid.translateDivide(H);const j=H.glyphGroup,{start_next:W,end_next:U}=this._getSelectionRuler(e2.divide,s,t,j.length-1,X);let J=!1,K=!1;f===a&&b===m&&B===y&&R===A&&X===$&&(J=!0),f===l&&b===F&&B===v&&R===I&&X===M&&(K=!0),e&&e(W,U,J,K,H,L,w,S,p),this._liquid.translateRestore()}this._liquid.translateRestore()}}}this._liquid.translateRestore(),this._liquid.translatePage(p,u,c,D)}}}const _f="__TestSelectionRange__",df="__TestSelectionAnchor__",j7=6,g6=500,ff=500,I6=1;function gf(r,s,t,e){const{startOffset:n,endOffset:i,style:o=T2}=s,a=t.findNodePositionByCharIndex(n),l=n!==i?t.findNodePositionByCharIndex(i):null,u=new V2(r,e,t,a,l,o);return u.refresh(),u}function yt(r){const s=r[0],t=s[0],e=s[2],{x:n,y:i}=t,{x:o,y:a}=e;return{left:n,top:i,width:o-n,height:a-i}}class V2{constructor(s,t,e,n,i,o=T2){h(this,"_current",!1);h(this,"_rangeShape");h(this,"_anchorShape");h(this,"_cursorList",[]);h(this,"_anchorBlinkTimer",null);this._scene=s,this._document=t,this._docSkeleton=e,this.anchorNodePosition=n,this.focusNodePosition=i,this.style=o,this._anchorBlink()}_anchorBlink(){setTimeout(()=>{this._anchorShape&&this._anchorShape.visible&&this.deactivateStatic()},g6),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},g6))},ff+g6)}get startOffset(){var n;const{startOffset:s}=(n=W7(this._cursorList))!=null?n:{},t=this._docSkeleton.getViewModel().getBody();if(s==null||t==null)return s;const e=t.dataStream.length-2;return Math.min(e,s)}get endOffset(){var n;const{endOffset:s}=(n=W7(this._cursorList))!=null?n:{},t=this._docSkeleton.getViewModel().getBody();if(s==null||t==null)return s;const e=t.dataStream.length-2;return Math.min(s,e)}get collapsed(){const{startOffset:s,endOffset:t}=this;return s!=null&&s===t}get startNodePosition(){if(this.anchorNodePosition==null)return null;if(this.focusNodePosition==null)return this.anchorNodePosition;const{start:s}=R6(this.anchorNodePosition,this.focusNodePosition);return s}get endNodePosition(){if(this.anchorNodePosition==null)return this.focusNodePosition;if(this.focusNodePosition==null)return null;const{end:s}=R6(this.anchorNodePosition,this.focusNodePosition);return s}get direction(){const{collapsed:s,anchorNodePosition:t,focusNodePosition:e}=this;return s||t==null||e==null?g2.NONE:St(t,e)?g2.FORWARD:g2.BACKWARD}getAnchor(){return this._anchorShape}activeStatic(){var s,t;(t=this._anchorShape)==null||t.setProps({stroke:((s=this.style)==null?void 0:s.strokeActive)||l1(_.COLORS.black,1)})}deactivateStatic(){var s,t;(t=this._anchorShape)==null||t.setProps({stroke:((s=this.style)==null?void 0:s.stroke)||l1(_.COLORS.black,0)})}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var s,t;(s=this._rangeShape)==null||s.dispose(),this._rangeShape=null,(t=this._anchorShape)==null||t.dispose(),this._anchorShape=null,this._anchorBlinkTimer&&(clearInterval(this._anchorBlinkTimer),this._anchorBlinkTimer=null)}isIntersection(s){const{startOffset:t,endOffset:e}=this,{startOffset:n,endOffset:i}=s;return t==null||e==null||n==null||i==null?!1:t<=i&&e>=n}refresh(){var D,f;const{_document:s,_docSkeleton:t}=this,e=this.anchorNodePosition,n=this.focusNodePosition;if((D=this._anchorShape)==null||D.hide(),(f=this._rangeShape)==null||f.hide(),this._isEmpty())return;const i=s.getOffsetConfig(),{docsLeft:o,docsTop:a}=i,l=new Tt(i,t);if(this._isCollapsed()){const{contentBoxPointGroup:p,cursorList:C}=l.getRangePointData(e,e);this._setCursorList(C),p.length>0&&this._createOrUpdateAnchor(p,o,a);return}const{borderBoxPointGroup:u,cursorList:c}=l.getRangePointData(e,n);this._setCursorList(c),u.length>0&&this._createOrUpdateRange(u,o,a)}_isEmpty(){return this.anchorNodePosition==null&&this.focusNodePosition==null}_isCollapsed(){const s=this.anchorNodePosition,t=this.focusNodePosition;if(s!=null&&t==null)return!0;if(s==null||t==null)return!1;const e=Object.keys(e2);for(const n of e){const i=s[n],o=t[n];if(i!==o)return!1}return s.isBack===t.isBack}_createOrUpdateRange(s,t,e){var o;if(this._rangeShape){this._rangeShape.translate(t,e),this._rangeShape.updatePointGroup(s),this._rangeShape.show();return}const n=.2,i=new s6(_f+_.Tools.generateRandomId(j7),{pointsGroup:s,fill:((o=this.style)==null?void 0:o.fill)||l1(_.COLORS.black,n),left:t,top:e,evented:!1,debounceParentDirty:!1});this._rangeShape=i,this._scene.addObject(i,I6)}_createOrUpdateAnchor(s,t,e){var u,c;const n=yt(s),{left:i,top:o,height:a}=n;if(this._anchorShape){this._anchorShape.transformByState({left:i+t,top:o+e,height:a}),this._anchorShape.show();return}const l=new p1(df+_.Tools.generateRandomId(j7),{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)||l1(_.COLORS.black,1),evented:!1});this._anchorShape=l,this._scene.addObject(l,I6)}_setCursorList(s){s.length!==0&&(this._cursorList=s)}}function pf(r){const s=r.getBoundingClientRect(),t=document.body,e=document.documentElement,n=window.pageYOffset||e.scrollTop||t.scrollTop,i=window.pageXOffset||e.scrollLeft||t.scrollLeft,o=e.clientTop||t.clientTop,a=e.clientLeft||t.clientLeft,l=s.top+n-o,u=s.left+i-a;return{top:l,left:u}}var mf=Object.defineProperty,Ff=Object.getOwnPropertyDescriptor,Cf=(r,s,t,e)=>{for(var n=e>1?void 0:e?Ff(s,t):s,i=r.length-1,o;i>=0;i--)(o=r[i])&&(n=(e?o(s,t,n):o(n))||n);return e&&n&&mf(s,t,n),n},Ef=(r,s)=>(t,e)=>s(t,e,r);function vt(r){const s=r==null?void 0:r.getCanvasElement();if(!s)return{left:0,top:0};const{top:t,left:e}=pf(s);return{left:e,top:t}}function G7(r){var l;const s=(l=r.parent)==null?void 0:l.parent,t=s==null?void 0:s.parent;if(s==null||t==null)return;const{paragraphIndex:e}=s,n=t.lines.filter(u=>u.paragraphIndex===e);let i=-1,o="",a=!1;for(const u of n)for(const c of u.divides)for(const D of c.glyphGroup)a||(i+=D.count),D===r&&(a=!0),o+=D.count>0?D.content:"";return{st:n[0].st,ed:e,content:o,nodeIndex:i}}exports.TextSelectionRenderManager=class extends _.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",T2);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=T2){this._selectionStyle=t}resetStyle(){this.setStyle()}enableSelection(){this._isSelectionEnabled=!0}disableSelection(){this._isSelectionEnabled=!1}addTextRanges(t,e=!0){const{_scene:n,_docSkeleton:i}=this;for(const o of t){const a=gf(n,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,n){t!==this._docSkeleton&&this.removeAllTextRanges(),this._docSkeleton=t,this._scene=e,this._activeViewport=e.getViewports()[0],this._document=n,this._attachScrollEvent(this._activeViewport)}handleDblClick(t){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:e,offsetY:n}=t,i=this._findNodeByCoord(e,n);if(i==null||i.node==null)return;const o=G7(i.node);if(o==null)return;const{content:a,st:l,nodeIndex:u}=o;if(u===-1||Intl.Segmenter==null)return;const D=new Intl.Segmenter(void 0,{granularity:"word"}).segment(a);let f=Number.NEGATIVE_INFINITY,p=Number.NEGATIVE_INFINITY;for(const{segment:C,index:m,isWordLike:F}of D)if(m<=u&&u<m+C.length&&F){f=m+l,p=m+l+C.length;break}if(Number.isFinite(f)&&Number.isFinite(p)){this.removeAllTextRanges();const C=[{startOffset:f,endOffset:p}];this.addTextRanges(C,!1)}}handleTripleClick(t){if(!this._scene||!this._isSelectionEnabled)return;const{offsetX:e,offsetY:n}=t,i=this._findNodeByCoord(e,n);if(i==null||i.node==null)return;const o=G7(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 n=this._findNodeByCoord(t,e),i=this._getNodePosition(n);if(i==null){this._removeAllTextRanges();return}(n==null?void 0:n.node.streamType)===_.DataStreamTreeTokenType.PARAGRAPH&&(i.isBack=!0),this._updateTextRangeAnchorPosition(i),this._activeSelectionRefresh()}eventTrigger(t){var p;if(!this._scene||!this._isSelectionEnabled)return;const e=this._scene,{offsetX:n,offsetY:i}=t,o=this._findNodeByCoord(n,i),a=this._getNodePosition(o);if(a==null){this._removeAllTextRanges();return}if((o==null?void 0:o.node.streamType)===_.DataStreamTreeTokenType.PARAGRAPH&&(a.isBack=!0),t.shiftKey&&this._getActiveRangeInstance())this._updateActiveRangeFocusPosition(a);else if(t.ctrlKey||this._isEmpty()){const C=new V2(e,this._document,this._docSkeleton,a);this._addTextRange(C)}else this._updateTextRangeAnchorPosition(a);this._activeSelectionRefresh(),e.disableEvent();const l=a2.create(e);this._scrollTimers.push(l),l.startScroll(n,i);const{scrollX:u,scrollY:c}=n2(l);this._viewportScrollX=u,this._viewportScrollY=c,this._onSelectionStart$.next((p=this._getActiveRangeInstance())==null?void 0:p.startNodePosition);let D=n,f=i;this._moveObservers.push(e.onPointerMoveObserver.add(C=>{const{offsetX:m,offsetY:F}=C;e.setCursor(s1.TEXT),!(Math.sqrt((m-D)**2+(F-f)**2)<3)&&(this._moving(m,F),l.scrolling(m,F,()=>{this._moving(m,F)}),D=m,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:n,collapsed:i,startNodePosition:o,endNodePosition:a,direction:l}=t;return e==null||n==null?null:{startOffset:e,endOffset:n,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"),n=document.createElement("div");e.appendChild(n),t.appendChild(e),this._container=t,this._inputParent=e,this._input=n,this._initInput(),this._initInputEvents(),document.body.appendChild(t)}_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(t){var c;if(t==null)return;const{node:e,ratioX:s}=t,i=(c=this._docSkeleton)==null?void 0:c.findPositionByGlyph(e);if(i==null)return;const a=s<.5;return{...i,isBack:a}}_interactTextRange(t){const e=[];let s=!1;this._rangeList.forEach(i=>{if(i===t)return!0;t.isIntersection(i)?(s=!0,i.dispose()):e.push(i)}),s&&(e.push(t),this._rangeList=e)}_removeAllTextRanges(){this._rangeList.forEach(t=>{t.dispose()}),this._rangeList=[]}_deactivateAllTextRanges(){this._rangeList.forEach(t=>{t.deactivate()})}_addTextRange(t){this._deactivateAllTextRanges(),t.activate(),this._rangeList.push(t)}_updateTextRangeAnchorPosition(t){if(!this._scene)return;let e=this._rangeList.pop();e||(e=new V2(this._scene,this._document,this._docSkeleton,t)),this._removeAllTextRanges(),e.activate(),e.anchorNodePosition=t,e.focusNodePosition=null,this._rangeList=[e]}_updateActiveRangeFocusPosition(t){if(!this._scene){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: scene is null");return}const e=this._getActiveRangeInstance();if(e==null||e.anchorNodePosition==null){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: active range has no anchor");return}this._removeAllTextRanges(),e.activate(),e.focusNodePosition=t,this.deactivate(),this._rangeList=[e]}_isEmpty(){return this._rangeList.length===0}_getCanvasOffset(){var e;const t=(e=this._scene)==null?void 0:e.getEngine();return vt(t)}_updateInputPosition(){const t=this._getActiveRangeInstance(),e=t==null?void 0:t.getAnchor();if(!e||e&&!e.visible||this._activeViewport==null){this.focus();return}const{left:s,top:i}=e,o=this._activeViewport.getAbsoluteVector(x.FromArray([s,i])),{x:a,y:c}=o;let{left:u,top:l}=this._getCanvasOffset();u+=a,l+=c,this.activate(u,l)}_moving(t,e){var a,c;if(this._docSkeleton==null)return;const s=this._findNodeByCoord(t,e),i=this._getNodePosition(s);if(!i)return;const o=this._getActiveRangeInstance();o&&(o.focusNodePosition=i,o.refresh(),this.deactivate(),this._interactTextRange(o),(c=(a=this._scene)==null?void 0:a.getEngine())==null||c.setRemainCapture())}_attachScrollEvent(t){if(t==null||this._docSkeleton==null)return;const s=`${this._docSkeleton.getViewModel().getDataModel().getUnitId()}_${t.viewPortKey}`;if(this._viewPortObserverMap.has(s))return;const i=t.onScrollBeforeObserver.add(a=>{if(!a.viewport)return;const u=this._getActiveRangeInstance();u==null||u.activeStatic()}),o=t.onScrollStopObserver.add(a=>{const c=a.viewport;if(!c)return;const u=c.getBounding(),l=this._getActiveRangeInstance(),D=l==null?void 0:l.getAnchor();if(!(!D||D&&!D.visible)){if(u){const{left:f,top:p,right:C,bottom:m}=u.viewBound;if(D.left<f||D.left>C||D.top<p||D.top>m){l==null||l.deactivateStatic();return}}this._updateInputPosition()}});this._viewPortObserverMap.set(s,{scrollBefore:i,scrollStop:o})}_initInputEvents(){this.disposeWithMe(Z.fromEvent(this._input,"keydown").subscribe(t=>{this._isIMEInputApply||this._eventHandle(t,e=>{this._onKeydown$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"input").subscribe(t=>{this._isIMEInputApply||this._eventHandle(t,e=>{this._onInputBefore$.next(e),this._onInput$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"compositionstart").subscribe(t=>{this._isIMEInputApply=!0,this._eventHandle(t,e=>{this._onCompositionstart$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"compositionend").subscribe(t=>{this._isIMEInputApply=!1,this._eventHandle(t,e=>{this._onCompositionend$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"compositionupdate").subscribe(t=>{this._eventHandle(t,e=>{this._onInputBefore$.next(e),this._onCompositionupdate$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"paste").subscribe(t=>{this._eventHandle(t,e=>{this._onPaste$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"focus").subscribe(t=>{this._eventHandle(t,e=>{this._onFocus$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"blur").subscribe(t=>{this._eventHandle(t,e=>{this._onBlur$.next(e)})}))}_eventHandle(t,e){const s=this._input.textContent||"";this._input.innerHTML="";const i=this._getActiveRange(),o=this._getAllTextRanges();e({event:t,content:s,activeRange:i,rangeList:o})}_getTransformCoordForDocumentOffset(t,e){const{documentTransform:s}=this._document.getOffsetConfig();if(this._activeViewport==null||s==null)return;const i=this._activeViewport.getRelativeVector(x.FromArray([t,e]));if(i)return s.clone().invert().applyPoint(i)}_findNodeByCoord(t,e){var c;const s=this._getTransformCoordForDocumentOffset(t,e);if(s==null)return;const{pageLayoutType:i=y1.VERTICAL,pageMarginLeft:o,pageMarginTop:a}=this._document.getOffsetConfig();return(c=this._docSkeleton)==null?void 0:c.findNodeByCoord(s,i,o,a)}_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 t=this._getActiveRangeInstance();t==null||t.refresh()}};exports.TextSelectionRenderManager=Cf([Ef(0,_.ILogService)],exports.TextSelectionRenderManager);const bf=U1.createIdentifier("univer.doc.text-selection-render-manager");exports.BASE_OBJECT_ARRAY=z2;exports.BORDER_TYPE=Y;exports.Background=O4;exports.BaseObject=I1;exports.Border=w4;exports.BreakType=r2;exports.CHECK_OBJECT_ARRAY=Et;exports.CIRCLE_OBJECT_ARRAY=Ft;exports.COLOR_BLACK_RGB=$1;exports.CURSOR_TYPE=n1;exports.Canvas=c2;exports.CanvasRenderMode=y4;exports.Checkbox=l7;exports.Circle=u7;exports.ColumnHeaderLayout=A4;exports.ComponentExtension=K6;exports.Control=sf;exports.Custom=rt;exports.CustomObject=Gd;exports.DEFAULT_DOCUMENT_FONTSIZE=V7;exports.DEFAULT_FONTFACE_PLANE=K2;exports.DEFAULT_MEASURE_TEXT=U7;exports.DEFAULT_OFFSET_SPACING=p6;exports.DEFAULT_SELECTION_LAYER_INDEX=Pt;exports.DEFAULT_SKELETON_FOOTER=Mt;exports.DEFAULT_SKELETON_HEADER=xt;exports.DOCUMENT_CONTEXT_CLIP_TYPE=K7;exports.DeviceInputEventType=F4;exports.DeviceType=p1;exports.DocumentSkeleton=a2;exports.DocumentViewModel=L1;exports.Documents=x2;exports.DocumentsSpanAndLineExtensionRegistry=l2;exports.Drawing=rf;exports.EMOJI_REG=o4;exports.EVENT_TYPE=b1;exports.Engine=G2;exports.EventConstants=N2;exports.FIX_ONE_PIXEL_BLUR_OFFSET=o1;exports.Font=nt;exports.FontCache=M1;exports.GlyphType=h1;exports.Group=ht;exports.HitCanvas=iD;exports.INITIAL_MATRIX=$2;exports.INITIAL_Path2=C4;exports.IRenderManagerService=pt;exports.IRenderingEngine=mt;exports.ITextSelectionRenderManager=bf;exports.IsSafari=n4;exports.LINK_VIEW_PORT_TYPE=j7;exports.Layer=Dt;exports.LineType=R2;exports.Liquid=y2;exports.MAXIMUM_ROW_HEIGHT=J7;exports.MIDDLE_CELL_POS_MAGIC_NUMBER=x6;exports.Marker=it;exports.NORMAL_TEXT_SELECTION_PLUGIN_STYLE=v2;exports.NodePositionConvertToCursor=St;exports.ORIENTATION_TYPE=F2;exports.PATH_OBJECT_ARRAY=ut;exports.PageLayoutType=y1;exports.Path=f1;exports.Path2=E4;exports.PerformanceMonitor=b4;exports.Picture=U2;exports.PointerInput=M;exports.RANGE_DIRECTION=p2;exports.RECT_OBJECT_ARRAY=dt;exports.REGULAR_POLYGON_OBJECT_ARRAY=Ct;exports.RENDER_CLASS_TYPE=k;exports.RENDER_RAW_FORMULA_KEY=et;exports.RICHTEXT_OBJECT_ARRAY=w6;exports.Rect=m1;exports.RegularPolygon=e6;exports.RenderComponent=V6;exports.RenderManagerService=gt;exports.RichText=of;exports.RollingAverage=S4;exports.RowHeaderLayout=st;exports.SHAPE_OBJECT_ARRAY=at;exports.SHAPE_TYPE=I6;exports.SHEET_EXTENSION_TYPE=B4;exports.SLIDE_NAVIGATION_KEY=ct;exports.Scene=ft;exports.SceneCanvas=sD;exports.SceneViewer=a7;exports.ScrollBar=c7;exports.ScrollTimer=u2;exports.ScrollTimerType=_t;exports.Selection=uf;exports.Shape=K1;exports.SheetColumnHeaderExtensionRegistry=Z6;exports.SheetComponent=q6;exports.SheetExtension=k1;exports.SheetRowHeaderExtensionRegistry=J6;exports.ShowGridlinesState=ot;exports.SkeletonType=_4;exports.Slide=jd;exports.Spreadsheet=Wd;exports.SpreadsheetColumnHeader=rD;exports.SpreadsheetExtensionRegistry=V1;exports.SpreadsheetHeader=Q6;exports.SpreadsheetRowHeader=Ad;exports.TEXT_RANGE_LAYER_INDEX=R6;exports.TRANSFORM_CHANGE_OBSERVABLE_TYPE=t1;exports.TextRange=V2;exports.ThinEngine=lt;exports.Transform=i1;exports.UNIVER_GLOBAL_DEFAULT_FONT_FAMILY=r4;exports.UNIVER_GLOBAL_DEFAULT_FONT_SIZE=i4;exports.UniverPrintingContext=v4;exports.UniverRenderingContext=T4;exports.UniverRenderingContext2D=U6;exports.UniverRenderingContextWebGL=eD;exports.UniverRenderingContextWebGPU=nD;exports.VERTICAL_ROTATE_ANGLE=l1;exports.Vector2=x;exports.Viewport=hf;exports.calculateRectRotate=T2;exports.cancelRequestFrame=t4;exports.checkStyle=Wh;exports.clearLineByBorderType=Qh;exports.convertTextRotation=d2;exports.createCanvasElement=P6;exports.createImageElement=bh;exports.degToRad=v1;exports.drawDiagonalLineByBorderType=f4;exports.drawLineByBorderType=z6;exports.fixLineWidthByScale=z;exports.generateRandomKey=s4;exports.getAnchorBounding=Tt;exports.getCanvasOffsetByEngine=vt;exports.getCellByIndex=s2;exports.getCellInfoInMergeData=S2;exports.getCellPositionByIndex=W1;exports.getColor=c1;exports.getCurrentScrollXY=i2;exports.getDPI=A2;exports.getDevicePixelRatio=Y6;exports.getDocsSkeletonPageSize=m2;exports.getFontStyleString=E2;exports.getLineOffset=g4;exports.getLineWidth=j6;exports.getLineWith=p4;exports.getParagraphByGlyph=d4;exports.getPointerPrefix=m6;exports.getRotateOffsetAndFarthestHypotenuse=G6;exports.getRotateOrientation=m4;exports.getScale=X6;exports.getSizeForDom=h4;exports.getTranslateInSpreadContextWithPixelRatio=tD;exports.getValueType=N1;exports.hasAllLatin=Ih;exports.hasArabic=N6;exports.hasBasicLatin=xh;exports.hasCJK=w2;exports.hasCJKPunctuation=C6;exports.hasCJKText=b2;exports.hasLatinExtendedA=Ph;exports.hasLatinExtendedB=Lh;exports.hasLatinOneSupplement=Mh;exports.hasListGlyph=Uh;exports.hasSpace=a4;exports.hasTibetan=k6;exports.hasUnMergedCellInRow=c4;exports.injectStyle=zh;exports.isArray=yh;exports.isCjkCenterAlignedPunctuation=H6;exports.isCjkLeftAlignedPunctuation=Z2;exports.isCjkRightAlignedPunctuation=q2;exports.isDate=Th;exports.isFirstGlyph=Jh;exports.isFunction=L6;exports.isIndentByGlyph=Vh;exports.isLastGlyph=Kh;exports.isNumber=Bh;exports.isObject=Oh;exports.isPlaceholderOrSpace=Zh;exports.isRectIntersect=l4;exports.isRegExp=vh;exports.isSameLine=qh;exports.isString=F6;exports.mergeInfoOffset=E6;exports.pixelToPt=Gh;exports.precisionTo=Y2;exports.ptToMM=Xh;exports.ptToPixel=jh;exports.ptToPx=kh;exports.pxToInch=Yh;exports.pxToNum=z1;exports.pxToPt=Hh;exports.radToDeg=e4;exports.requestNewFrame=C2;exports.setLineType=W6;exports.startWithEmoji=$6;exports.toPx=R1;
17
+ `}_getNodePosition(t){var l;if(t==null)return;const{node:e,ratioX:n}=t,i=(l=this._docSkeleton)==null?void 0:l.findPositionByGlyph(e);if(i==null)return;const a=n<.5;return{...i,isBack:a}}_interactTextRange(t){const e=[];let n=!1;this._rangeList.forEach(i=>{if(i===t)return!0;t.isIntersection(i)?(n=!0,i.dispose()):e.push(i)}),n&&(e.push(t),this._rangeList=e)}_removeAllTextRanges(){this._rangeList.forEach(t=>{t.dispose()}),this._rangeList=[]}_deactivateAllTextRanges(){this._rangeList.forEach(t=>{t.deactivate()})}_addTextRange(t){this._deactivateAllTextRanges(),t.activate(),this._rangeList.push(t)}_updateTextRangeAnchorPosition(t){if(!this._scene)return;let e=this._rangeList.pop();e||(e=new V2(this._scene,this._document,this._docSkeleton,t)),this._removeAllTextRanges(),e.activate(),e.anchorNodePosition=t,e.focusNodePosition=null,this._rangeList=[e]}_updateActiveRangeFocusPosition(t){if(!this._scene){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: scene is null");return}const e=this._getActiveRangeInstance();if(e==null||e.anchorNodePosition==null){this._logService.error("[TextSelectionRenderManager] _updateActiveRangeFocusPosition: active range has no anchor");return}this._removeAllTextRanges(),e.activate(),e.focusNodePosition=t,this.deactivate(),this._rangeList=[e]}_isEmpty(){return this._rangeList.length===0}_getCanvasOffset(){var e;const t=(e=this._scene)==null?void 0:e.getEngine();return vt(t)}_updateInputPosition(){const t=this._getActiveRangeInstance(),e=t==null?void 0:t.getAnchor();if(!e||e&&!e.visible||this._activeViewport==null){this.focus();return}const{left:n,top:i}=e,o=this._activeViewport.getAbsoluteVector(x.FromArray([n,i])),{x:a,y:l}=o;let{left:u,top:c}=this._getCanvasOffset();u+=a,c+=l,this.activate(u,c)}_moving(t,e){var a,l;if(this._docSkeleton==null)return;const n=this._findNodeByCoord(t,e),i=this._getNodePosition(n);if(!i)return;const o=this._getActiveRangeInstance();o&&(o.focusNodePosition=i,o.refresh(),this.deactivate(),this._interactTextRange(o),(l=(a=this._scene)==null?void 0:a.getEngine())==null||l.setRemainCapture())}_attachScrollEvent(t){if(t==null||this._docSkeleton==null)return;const n=`${this._docSkeleton.getViewModel().getDataModel().getUnitId()}_${t.viewPortKey}`;if(this._viewPortObserverMap.has(n))return;const i=t.onScrollBeforeObserver.add(a=>{if(!a.viewport)return;const u=this._getActiveRangeInstance();u==null||u.activeStatic()}),o=t.onScrollStopObserver.add(a=>{const l=a.viewport;if(!l)return;const u=l.getBounding(),c=this._getActiveRangeInstance(),D=c==null?void 0:c.getAnchor();if(!(!D||D&&!D.visible)){if(u){const{left:f,top:p,right:C,bottom:m}=u.viewBound;if(D.left<f||D.left>C||D.top<p||D.top>m){c==null||c.deactivateStatic();return}}this._updateInputPosition()}});this._viewPortObserverMap.set(n,{scrollBefore:i,scrollStop:o})}_initInputEvents(){this.disposeWithMe(Z.fromEvent(this._input,"keydown").subscribe(t=>{this._isIMEInputApply||this._eventHandle(t,e=>{this._onKeydown$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"input").subscribe(t=>{this._isIMEInputApply||this._eventHandle(t,e=>{this._onInputBefore$.next(e),this._onInput$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"compositionstart").subscribe(t=>{this._isIMEInputApply=!0,this._eventHandle(t,e=>{this._onCompositionstart$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"compositionend").subscribe(t=>{this._isIMEInputApply=!1,this._eventHandle(t,e=>{this._onCompositionend$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"compositionupdate").subscribe(t=>{this._eventHandle(t,e=>{this._onInputBefore$.next(e),this._onCompositionupdate$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"paste").subscribe(t=>{this._eventHandle(t,e=>{this._onPaste$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"focus").subscribe(t=>{this._eventHandle(t,e=>{this._onFocus$.next(e)})})),this.disposeWithMe(Z.fromEvent(this._input,"blur").subscribe(t=>{this._eventHandle(t,e=>{this._onBlur$.next(e)})}))}_eventHandle(t,e){const n=this._input.textContent||"";this._input.innerHTML="";const i=this._getActiveRange(),o=this._getAllTextRanges();e({event:t,content:n,activeRange:i,rangeList:o})}_getTransformCoordForDocumentOffset(t,e){const{documentTransform:n}=this._document.getOffsetConfig();if(this._activeViewport==null||n==null)return;const i=this._activeViewport.getRelativeVector(x.FromArray([t,e]));if(i)return n.clone().invert().applyPoint(i)}_findNodeByCoord(t,e){var l;const n=this._getTransformCoordForDocumentOffset(t,e);if(n==null)return;const{pageLayoutType:i=v1.VERTICAL,pageMarginLeft:o,pageMarginTop:a}=this._document.getOffsetConfig();return(l=this._docSkeleton)==null?void 0:l.findNodeByCoord(n,i,o,a)}_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 t=this._getActiveRangeInstance();t==null||t.refresh()}};exports.TextSelectionRenderManager=Cf([Ef(0,_.ILogService)],exports.TextSelectionRenderManager);const bf=G1.createIdentifier("univer.doc.text-selection-render-manager");exports.BASE_OBJECT_ARRAY=z2;exports.BORDER_TYPE=Y;exports.Background=w4;exports.BaseObject=R1;exports.Border=A4;exports.BreakType=i2;exports.CHECK_OBJECT_ARRAY=bt;exports.CIRCLE_OBJECT_ARRAY=Ct;exports.COLOR_BLACK_RGB=L1;exports.CURSOR_TYPE=s1;exports.Canvas=u2;exports.CanvasRenderMode=K6;exports.Checkbox=h7;exports.Circle=l7;exports.ColumnHeaderLayout=R4;exports.ComponentExtension=Z6;exports.Control=nf;exports.Custom=ot;exports.CustomObject=Gd;exports.DEFAULT_DOCUMENT_FONTSIZE=J7;exports.DEFAULT_FONTFACE_PLANE=K2;exports.DEFAULT_MEASURE_TEXT=K7;exports.DEFAULT_OFFSET_SPACING=m6;exports.DEFAULT_SELECTION_LAYER_INDEX=Lt;exports.DEFAULT_SKELETON_FOOTER=Mt;exports.DEFAULT_SKELETON_HEADER=Pt;exports.DOCUMENT_CONTEXT_CLIP_TYPE=Z7;exports.DeviceInputEventType=E4;exports.DeviceType=g1;exports.DocumentSkeleton=o2;exports.DocumentViewModel=M1;exports.Documents=I2;exports.DocumentsSpanAndLineExtensionRegistry=l2;exports.Drawing=rf;exports.EMOJI_REG=u4;exports.EVENT_TYPE=b1;exports.Engine=G2;exports.EventConstants=N2;exports.FIX_ONE_PIXEL_BLUR_OFFSET=o1;exports.Font=nt;exports.FontCache=P1;exports.GlyphType=m1;exports.Group=Dt;exports.HitCanvas=rD;exports.INITIAL_MATRIX=$2;exports.INITIAL_Path2=b4;exports.IRenderManagerService=mt;exports.IRenderingEngine=Ft;exports.ITextSelectionRenderManager=bf;exports.IsSafari=i4;exports.LINK_VIEW_PORT_TYPE=U7;exports.Layer=_t;exports.LineType=A2;exports.Liquid=y2;exports.MAXIMUM_ROW_HEIGHT=q7;exports.MIDDLE_CELL_POS_MAGIC_NUMBER=P6;exports.Marker=rt;exports.NORMAL_TEXT_SELECTION_PLUGIN_STYLE=T2;exports.NodePositionConvertToCursor=Tt;exports.ORIENTATION_TYPE=m2;exports.PATH_OBJECT_ARRAY=lt;exports.PageLayoutType=v1;exports.Path=d1;exports.Path2=S4;exports.PerformanceMonitor=T4;exports.Picture=U2;exports.PointerInput=P;exports.RANGE_DIRECTION=g2;exports.RECT_OBJECT_ARRAY=ft;exports.REGULAR_POLYGON_OBJECT_ARRAY=Et;exports.RENDER_CLASS_TYPE=k;exports.RENDER_RAW_FORMULA_KEY=st;exports.RICHTEXT_OBJECT_ARRAY=A6;exports.Rect=p1;exports.RegularPolygon=s6;exports.RenderComponent=J6;exports.RenderManagerService=pt;exports.RichText=of;exports.RollingAverage=y4;exports.RowHeaderLayout=it;exports.SHAPE_OBJECT_ARRAY=ut;exports.SHAPE_TYPE=x6;exports.SHEET_EXTENSION_TYPE=O4;exports.SLIDE_NAVIGATION_KEY=ct;exports.Scene=gt;exports.SceneCanvas=iD;exports.SceneViewer=u7;exports.ScrollBar=c7;exports.ScrollTimer=a2;exports.ScrollTimerType=dt;exports.Selection=uf;exports.Shape=V1;exports.SheetColumnHeaderExtensionRegistry=Q6;exports.SheetComponent=t7;exports.SheetExtension=N1;exports.SheetRowHeaderExtensionRegistry=q6;exports.ShowGridlinesState=at;exports.SkeletonType=f4;exports.Slide=jd;exports.Spreadsheet=Wd;exports.SpreadsheetColumnHeader=oD;exports.SpreadsheetExtensionRegistry=U1;exports.SpreadsheetHeader=e7;exports.SpreadsheetRowHeader=Ad;exports.TEXT_RANGE_LAYER_INDEX=I6;exports.TRANSFORM_CHANGE_OBSERVABLE_TYPE=t1;exports.TextRange=V2;exports.ThinEngine=ht;exports.Transform=i1;exports.UNIVER_GLOBAL_DEFAULT_FONT_FAMILY=a4;exports.UNIVER_GLOBAL_DEFAULT_FONT_SIZE=o4;exports.UniverPrintingContext=B4;exports.UniverRenderingContext=v4;exports.UniverRenderingContext2D=V6;exports.UniverRenderingContextWebGL=sD;exports.UniverRenderingContextWebGPU=nD;exports.VERTICAL_ROTATE_ANGLE=h1;exports.Vector2=x;exports.Viewport=hf;exports.calculateRectRotate=S2;exports.cancelRequestFrame=s4;exports.checkStyle=jh;exports.clearLineByBorderType=tD;exports.convertTextRotation=_2;exports.createCanvasElement=L6;exports.createImageElement=Sh;exports.degToRad=y1;exports.drawDiagonalLineByBorderType=p4;exports.drawLineByBorderType=W6;exports.fixLineWidthByScale=z;exports.generateRandomKey=r4;exports.getAnchorBounding=yt;exports.getCanvasOffsetByEngine=vt;exports.getCellByIndex=s2;exports.getCellInfoInMergeData=b2;exports.getCellPositionByIndex=Y1;exports.getCharSpaceApply=Q2;exports.getColor=l1;exports.getCurrentScrollXY=n2;exports.getDPI=w2;exports.getDevicePixelRatio=z6;exports.getDocsSkeletonPageSize=p2;exports.getFontStyleString=C2;exports.getLineOffset=m4;exports.getLineWidth=G6;exports.getLineWith=F4;exports.getNumberUnitValue=z1;exports.getParagraphByGlyph=g4;exports.getPointerPrefix=F6;exports.getRotateOffsetAndFarthestHypotenuse=U6;exports.getRotateOrientation=C4;exports.getScale=Y6;exports.getSizeForDom=_4;exports.getTranslateInSpreadContextWithPixelRatio=eD;exports.getValueType=$1;exports.hasAllLatin=xh;exports.hasArabic=k6;exports.hasBasicLatin=Ph;exports.hasCJK=O2;exports.hasCJKPunctuation=E6;exports.hasCJKText=E2;exports.hasLatinExtendedA=Lh;exports.hasLatinExtendedB=$h;exports.hasLatinOneSupplement=Mh;exports.hasListGlyph=Vh;exports.hasSpace=l4;exports.hasTibetan=H6;exports.hasUnMergedCellInRow=h4;exports.injectStyle=Wh;exports.isArray=Bh;exports.isCjkCenterAlignedPunctuation=X6;exports.isCjkLeftAlignedPunctuation=Z2;exports.isCjkRightAlignedPunctuation=q2;exports.isDate=yh;exports.isFirstGlyph=Zh;exports.isFunction=$6;exports.isIndentByGlyph=Kh;exports.isLastGlyph=Jh;exports.isNumber=Oh;exports.isObject=wh;exports.isPlaceholderOrSpace=qh;exports.isRectIntersect=D4;exports.isRegExp=vh;exports.isSameLine=Qh;exports.isString=C6;exports.mergeInfoOffset=b6;exports.pixelToPt=Uh;exports.precisionTo=Y2;exports.ptToMM=Yh;exports.ptToPixel=Gh;exports.ptToPx=Hh;exports.pxToInch=zh;exports.pxToNum=X1;exports.pxToPt=Xh;exports.radToDeg=n4;exports.requestNewFrame=F2;exports.setLineType=j6;exports.startWithEmoji=N6;exports.toPx=A1;